diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..0094d45
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,33 @@
+licenses(["notice"])  # Apache License 2.0
+
+java_library(
+    name = "apkzlib",
+    srcs = glob([
+        "src/main/java/**/*.java",
+    ]),
+    visibility = ["//tools/base/build-system/builder:__pkg__"],
+    deps = [
+        "//tools/apksig",
+        "//tools/base/third_party:com.google.code.findbugs_jsr305",
+        "//tools/base/third_party:com.google.guava_guava",
+        "//tools/base/third_party:org.bouncycastle_bcpkix-jdk15on",
+        "//tools/base/third_party:org.bouncycastle_bcprov-jdk15on",
+    ],
+)
+
+java_test(
+    name = "apkzlib_tests",
+    srcs = glob(["src/test/java/**/*.java"]),
+    jvm_flags = ["-Dtest.suite.jar=tests.jar"],
+    resources = glob(["src/test/resources/**"]),
+    test_class = "com.android.testutils.JarTestSuite",
+    deps = [
+        ":apkzlib",
+        "//tools/base/testutils:tools.testutils",
+        "//tools/base/third_party:com.google.guava_guava",
+        "//tools/base/third_party:junit_junit",
+        "//tools/base/third_party:org.bouncycastle_bcpkix-jdk15on",
+        "//tools/base/third_party:org.bouncycastle_bcprov-jdk15on",
+        "//tools/base/third_party:org.mockito_mockito-core",
+    ],
+)
diff --git a/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
index cca5f40..b7949b5 100644
--- a/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
@@ -27,7 +27,6 @@
 import com.google.common.base.Verify;
 import com.google.common.base.VerifyException;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
@@ -2473,7 +2472,7 @@
             return;
         }
 
-        for (File f : Iterables.skip(Files.fileTraverser().depthFirstPreOrder(file), 1)) {
+        for (File f : Files.fileTreeTraverser().preOrderTraversal(file).skip(1)) {
             String path = file.toURI().relativize(f.toURI()).getPath();
 
             InputStream stream;
