diff --git a/src/com/facebook/buck/android/AndroidBinaryRule.java b/src/com/facebook/buck/android/AndroidBinaryRule.java
index 277acb3..4663ee5 100644
--- a/src/com/facebook/buck/android/AndroidBinaryRule.java
+++ b/src/com/facebook/buck/android/AndroidBinaryRule.java
@@ -568,8 +568,8 @@
 
     for (Map.Entry<String, File> entry : allAssets.build().entrySet()) {
       commands.add(new MkdirAndSymlinkFileStep(
-          entry.getValue().getPath(),
-          destinationDirectory + "/" + entry.getKey()));
+          Paths.normalizePathSeparator(entry.getValue().getPath()),
+          Paths.normalizePathSeparator(destinationDirectory + "/" + entry.getKey())));
     }
 
     return Optional.of(destination);
@@ -693,7 +693,7 @@
         "Classpath entries should be relative rather than absolute paths: %s",
         classpathEntry);
     String obfuscatedName = Paths.getBasename(classpathEntry, ".jar") + "-obfuscated.jar";
-    String dirName = new File(classpathEntry).getParent();
+    String dirName = Paths.normalizePathSeparator(new File(classpathEntry).getParent());
     String outputJar = getPathForProGuardDirectory() + "/" + dirName + "/" +
         obfuscatedName;
     return outputJar;
diff --git a/test/com/facebook/buck/android/AndroidBinaryRuleTest.java b/test/com/facebook/buck/android/AndroidBinaryRuleTest.java
index e456a95..0c9b71e 100644
--- a/test/com/facebook/buck/android/AndroidBinaryRuleTest.java
+++ b/test/com/facebook/buck/android/AndroidBinaryRuleTest.java
@@ -252,7 +252,7 @@
     DirectoryTraverser traverser = new DirectoryTraverser() {
       @Override
       public void traverse(DirectoryTraversal traversal) {
-        String rootPath = traversal.getRoot().getPath();
+        String rootPath = Paths.normalizePathSeparator(traversal.getRoot().getPath());
         if ("java/src/com/facebook/base/assets2".equals(rootPath)) {
           traversal.visit(
               new File("java/src/com/facebook/base/assets2",
@@ -329,7 +329,7 @@
     DirectoryTraverser traverser = new DirectoryTraverser() {
       @Override
       public void traverse(DirectoryTraversal traversal) {
-        String rootPath = traversal.getRoot().getPath();
+        String rootPath = Paths.normalizePathSeparator(traversal.getRoot().getPath());
         if ("java/src/com/facebook/base/assets1".equals(rootPath)) {
           traversal.visit(
               new File("java/src/com/facebook/base/assets1",
