diff --git a/src/main/java/com/android/apkzlib/sign/DigestAlgorithm.java b/src/main/java/com/android/tools/build/apkzlib/sign/DigestAlgorithm.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/sign/DigestAlgorithm.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/DigestAlgorithm.java
index 64427ae..29ccdc8 100644
--- a/src/main/java/com/android/apkzlib/sign/DigestAlgorithm.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/DigestAlgorithm.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import javax.annotation.Nonnull;
 
diff --git a/src/main/java/com/android/apkzlib/sign/ManifestGenerationExtension.java b/src/main/java/com/android/tools/build/apkzlib/sign/ManifestGenerationExtension.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/sign/ManifestGenerationExtension.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/ManifestGenerationExtension.java
index 33c47c6..b8df2a9 100644
--- a/src/main/java/com/android/apkzlib/sign/ManifestGenerationExtension.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/ManifestGenerationExtension.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
-import com.android.apkzlib.utils.CachedSupplier;
-import com.android.apkzlib.utils.IOExceptionRunnable;
-import com.android.apkzlib.zfile.ManifestAttributes;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileExtension;
+import com.android.tools.build.apkzlib.utils.CachedSupplier;
+import com.android.tools.build.apkzlib.utils.IOExceptionRunnable;
+import com.android.tools.build.apkzlib.zfile.ManifestAttributes;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileExtension;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
 import java.io.ByteArrayInputStream;
diff --git a/src/main/java/com/android/apkzlib/sign/SignatureAlgorithm.java b/src/main/java/com/android/tools/build/apkzlib/sign/SignatureAlgorithm.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/sign/SignatureAlgorithm.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/SignatureAlgorithm.java
index 0667252..ef7c71d 100644
--- a/src/main/java/com/android/apkzlib/sign/SignatureAlgorithm.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/SignatureAlgorithm.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import java.security.NoSuchAlgorithmException;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/sign/SigningExtension.java b/src/main/java/com/android/tools/build/apkzlib/sign/SigningExtension.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/sign/SigningExtension.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/SigningExtension.java
index 2685aa1..e72de69 100644
--- a/src/main/java/com/android/apkzlib/sign/SigningExtension.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/SigningExtension.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import com.android.apksig.ApkSignerEngine;
 import com.android.apksig.ApkVerifier;
@@ -21,10 +21,10 @@
 import com.android.apksig.apk.ApkFormatException;
 import com.android.apksig.util.DataSource;
 import com.android.apksig.util.DataSources;
-import com.android.apkzlib.utils.IOExceptionRunnable;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileExtension;
+import com.android.tools.build.apkzlib.utils.IOExceptionRunnable;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileExtension;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import java.io.ByteArrayInputStream;
diff --git a/src/main/java/com/android/apkzlib/sign/ZFileDataSource.java b/src/main/java/com/android/tools/build/apkzlib/sign/ZFileDataSource.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/sign/ZFileDataSource.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/ZFileDataSource.java
index 049cf35..3a1fc3c 100644
--- a/src/main/java/com/android/apkzlib/sign/ZFileDataSource.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/ZFileDataSource.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import com.android.apksig.util.DataSink;
 import com.android.apksig.util.DataSource;
-import com.android.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFile;
 import com.google.common.base.Preconditions;
 import java.io.EOFException;
 import java.io.IOException;
diff --git a/src/main/java/com/android/apkzlib/sign/package-info.java b/src/main/java/com/android/tools/build/apkzlib/sign/package-info.java
similarity index 99%
rename from src/main/java/com/android/apkzlib/sign/package-info.java
rename to src/main/java/com/android/tools/build/apkzlib/sign/package-info.java
index 6bb692c..c1b0829 100644
--- a/src/main/java/com/android/apkzlib/sign/package-info.java
+++ b/src/main/java/com/android/tools/build/apkzlib/sign/package-info.java
@@ -150,4 +150,4 @@
 </ul>
 So, by configuring which extensions to add, the package task can decide what type of apk we want.
 */
-package com.android.apkzlib.sign;
\ No newline at end of file
+package com.android.apkzlib.sign;
diff --git a/src/main/java/com/android/apkzlib/utils/ApkZLibPair.java b/src/main/java/com/android/tools/build/apkzlib/utils/ApkZLibPair.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/utils/ApkZLibPair.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/ApkZLibPair.java
index 8cf79ee..f9f4177 100644
--- a/src/main/java/com/android/apkzlib/utils/ApkZLibPair.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/ApkZLibPair.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 /**
  * Pair implementation to use with the {@code apkzlib} library.
diff --git a/src/main/java/com/android/apkzlib/utils/CachedFileContents.java b/src/main/java/com/android/tools/build/apkzlib/utils/CachedFileContents.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/utils/CachedFileContents.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/CachedFileContents.java
index f2a3331..3600800 100644
--- a/src/main/java/com/android/apkzlib/utils/CachedFileContents.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/CachedFileContents.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import com.google.common.base.Objects;
 import com.google.common.hash.HashCode;
diff --git a/src/main/java/com/android/apkzlib/utils/CachedSupplier.java b/src/main/java/com/android/tools/build/apkzlib/utils/CachedSupplier.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/utils/CachedSupplier.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/CachedSupplier.java
index bc5eb69..84505bc 100644
--- a/src/main/java/com/android/apkzlib/utils/CachedSupplier.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/CachedSupplier.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import java.util.function.Supplier;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/utils/IOExceptionConsumer.java b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionConsumer.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/utils/IOExceptionConsumer.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionConsumer.java
index fcf3ab0..98aefe7 100644
--- a/src/main/java/com/android/apkzlib/utils/IOExceptionConsumer.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionConsumer.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/src/main/java/com/android/apkzlib/utils/IOExceptionFunction.java b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionFunction.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/utils/IOExceptionFunction.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionFunction.java
index 6d84b5b..4ccce5f 100644
--- a/src/main/java/com/android/apkzlib/utils/IOExceptionFunction.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionFunction.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/src/main/java/com/android/apkzlib/utils/IOExceptionRunnable.java b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionRunnable.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/utils/IOExceptionRunnable.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionRunnable.java
index 67ed75c..40de80b 100644
--- a/src/main/java/com/android/apkzlib/utils/IOExceptionRunnable.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionRunnable.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import java.io.IOException;
 import java.io.UncheckedIOException;
diff --git a/src/main/java/com/android/apkzlib/utils/IOExceptionWrapper.java b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionWrapper.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/utils/IOExceptionWrapper.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionWrapper.java
index 067b260..d6f4d8b 100644
--- a/src/main/java/com/android/apkzlib/utils/IOExceptionWrapper.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/IOExceptionWrapper.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import java.io.IOException;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/utils/package-info.java b/src/main/java/com/android/tools/build/apkzlib/utils/package-info.java
similarity index 93%
rename from src/main/java/com/android/apkzlib/utils/package-info.java
rename to src/main/java/com/android/tools/build/apkzlib/utils/package-info.java
index 2f17b60..64d8a62 100644
--- a/src/main/java/com/android/apkzlib/utils/package-info.java
+++ b/src/main/java/com/android/tools/build/apkzlib/utils/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Utilities to work with {@code apkzlib}.
  */
-package com.android.apkzlib.utils;
\ No newline at end of file
+package com.android.tools.build.apkzlib.utils;
diff --git a/src/main/java/com/android/apkzlib/zfile/ApkCreator.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreator.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zfile/ApkCreator.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreator.java
index 3cac7dc..e47b04e 100644
--- a/src/main/java/com/android/apkzlib/zfile/ApkCreator.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreator.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
 import java.io.Closeable;
 import java.io.File;
diff --git a/src/main/java/com/android/apkzlib/zfile/ApkCreatorFactory.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreatorFactory.java
similarity index 99%
rename from src/main/java/com/android/apkzlib/zfile/ApkCreatorFactory.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreatorFactory.java
index 503eaf1..e782206 100644
--- a/src/main/java/com/android/apkzlib/zfile/ApkCreatorFactory.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkCreatorFactory.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
diff --git a/src/main/java/com/android/apkzlib/zfile/ApkZFileCreator.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreator.java
similarity index 94%
rename from src/main/java/com/android/apkzlib/zfile/ApkZFileCreator.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreator.java
index c85ad44..0a0b90d 100644
--- a/src/main/java/com/android/apkzlib/zfile/ApkZFileCreator.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreator.java
@@ -14,13 +14,13 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
-import com.android.apkzlib.zip.AlignmentRule;
-import com.android.apkzlib.zip.AlignmentRules;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.zip.AlignmentRule;
+import com.android.tools.build.apkzlib.zip.AlignmentRules;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
 import com.google.common.base.Preconditions;
 import com.google.common.io.Closer;
 import java.io.File;
diff --git a/src/main/java/com/android/apkzlib/zfile/ApkZFileCreatorFactory.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreatorFactory.java
similarity index 93%
rename from src/main/java/com/android/apkzlib/zfile/ApkZFileCreatorFactory.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreatorFactory.java
index 2e4c7c9..b19885d 100644
--- a/src/main/java/com/android/apkzlib/zfile/ApkZFileCreatorFactory.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ApkZFileCreatorFactory.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
-import com.android.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
 import java.io.IOException;
 import java.io.UncheckedIOException;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/zfile/ManifestAttributes.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ManifestAttributes.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zfile/ManifestAttributes.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ManifestAttributes.java
index d8a7d2d..e8e6c2d 100644
--- a/src/main/java/com/android/apkzlib/zfile/ManifestAttributes.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ManifestAttributes.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
 /**
  * Java manifest attributes and some default values.
diff --git a/src/main/java/com/android/apkzlib/zfile/NativeLibrariesPackagingMode.java b/src/main/java/com/android/tools/build/apkzlib/zfile/NativeLibrariesPackagingMode.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zfile/NativeLibrariesPackagingMode.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/NativeLibrariesPackagingMode.java
index 8916abe..0dab9b1 100644
--- a/src/main/java/com/android/apkzlib/zfile/NativeLibrariesPackagingMode.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/NativeLibrariesPackagingMode.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
 /**
  * Describes how native libs should be packaged.
diff --git a/src/main/java/com/android/apkzlib/zfile/ZFiles.java b/src/main/java/com/android/tools/build/apkzlib/zfile/ZFiles.java
similarity index 91%
rename from src/main/java/com/android/apkzlib/zfile/ZFiles.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/ZFiles.java
index d5102a6..a54c50d 100644
--- a/src/main/java/com/android/apkzlib/zfile/ZFiles.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/ZFiles.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
-import com.android.apkzlib.sign.ManifestGenerationExtension;
-import com.android.apkzlib.sign.SigningExtension;
-import com.android.apkzlib.zip.AlignmentRule;
-import com.android.apkzlib.zip.AlignmentRules;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.sign.ManifestGenerationExtension;
+import com.android.tools.build.apkzlib.sign.SigningExtension;
+import com.android.tools.build.apkzlib.zip.AlignmentRule;
+import com.android.tools.build.apkzlib.zip.AlignmentRules;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
 import java.io.File;
 import java.io.IOException;
 import java.security.InvalidKeyException;
diff --git a/src/main/java/com/android/apkzlib/zfile/package-info.java b/src/main/java/com/android/tools/build/apkzlib/zfile/package-info.java
similarity index 87%
rename from src/main/java/com/android/apkzlib/zfile/package-info.java
rename to src/main/java/com/android/tools/build/apkzlib/zfile/package-info.java
index 0c5ab6d..703b209 100644
--- a/src/main/java/com/android/apkzlib/zfile/package-info.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zfile/package-info.java
@@ -14,7 +14,5 @@
  * limitations under the License.
  */
 
-/**
- * The {@code zfile} package contains
- */
-package com.android.apkzlib.zfile;
\ No newline at end of file
+/** The {@code zfile} package contains */
+package com.android.tools.build.apkzlib.zfile;
diff --git a/src/main/java/com/android/apkzlib/zip/AlignmentRule.java b/src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRule.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/zip/AlignmentRule.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRule.java
index 4ee6963..d599a03 100644
--- a/src/main/java/com/android/apkzlib/zip/AlignmentRule.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRule.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import javax.annotation.Nonnull;
 
diff --git a/src/main/java/com/android/apkzlib/zip/AlignmentRules.java b/src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRules.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/AlignmentRules.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRules.java
index b06a596..f654708 100644
--- a/src/main/java/com/android/apkzlib/zip/AlignmentRules.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/AlignmentRules.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.base.Preconditions;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/zip/CentralDirectory.java b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectory.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/CentralDirectory.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectory.java
index 44389c1..909f2d0 100644
--- a/src/main/java/com/android/apkzlib/zip/CentralDirectory.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectory.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.utils.CachedSupplier;
-import com.android.apkzlib.zip.utils.MsDosDateTimeUtils;
+import com.android.tools.build.apkzlib.utils.CachedSupplier;
+import com.android.tools.build.apkzlib.zip.utils.MsDosDateTimeUtils;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
diff --git a/src/main/java/com/android/apkzlib/zip/CentralDirectoryHeader.java b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeader.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/CentralDirectoryHeader.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeader.java
index f10477f..353ed3d 100644
--- a/src/main/java/com/android/apkzlib/zip/CentralDirectoryHeader.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeader.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.MsDosDateTimeUtils;
+import com.android.tools.build.apkzlib.zip.utils.MsDosDateTimeUtils;
 import com.google.common.base.Verify;
 import java.io.IOException;
 import java.util.Arrays;
diff --git a/src/main/java/com/android/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java
index 7c3ad63..f6fd749 100644
--- a/src/main/java/com/android/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/CentralDirectoryHeaderCompressInfo.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import javax.annotation.Nonnull;
 
diff --git a/src/main/java/com/android/apkzlib/zip/CompressionMethod.java b/src/main/java/com/android/tools/build/apkzlib/zip/CompressionMethod.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/CompressionMethod.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/CompressionMethod.java
index dd2ee8d..82f374b 100644
--- a/src/main/java/com/android/apkzlib/zip/CompressionMethod.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/CompressionMethod.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import javax.annotation.Nullable;
 
diff --git a/src/main/java/com/android/apkzlib/zip/CompressionResult.java b/src/main/java/com/android/tools/build/apkzlib/zip/CompressionResult.java
similarity index 94%
rename from src/main/java/com/android/apkzlib/zip/CompressionResult.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/CompressionResult.java
index 34f5d72..1688248 100644
--- a/src/main/java/com/android/apkzlib/zip/CompressionResult.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/CompressionResult.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import javax.annotation.Nonnull;
 
 /**
diff --git a/src/main/java/com/android/apkzlib/zip/Compressor.java b/src/main/java/com/android/tools/build/apkzlib/zip/Compressor.java
similarity index 91%
rename from src/main/java/com/android/apkzlib/zip/Compressor.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/Compressor.java
index a94242e..9c70129 100644
--- a/src/main/java/com/android/apkzlib/zip/Compressor.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/Compressor.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import com.google.common.util.concurrent.ListenableFuture;
 import javax.annotation.Nonnull;
 
diff --git a/src/main/java/com/android/apkzlib/zip/DataDescriptorType.java b/src/main/java/com/android/tools/build/apkzlib/zip/DataDescriptorType.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/DataDescriptorType.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/DataDescriptorType.java
index 9b7425e..d7d9086 100644
--- a/src/main/java/com/android/apkzlib/zip/DataDescriptorType.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/DataDescriptorType.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * Type of data descriptor that an entry has. Data descriptors are used if the CRC and sizing data
diff --git a/src/main/java/com/android/apkzlib/zip/EncodeUtils.java b/src/main/java/com/android/tools/build/apkzlib/zip/EncodeUtils.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/EncodeUtils.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/EncodeUtils.java
index 259f64e..34111e6 100644
--- a/src/main/java/com/android/apkzlib/zip/EncodeUtils.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/EncodeUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.base.Charsets;
 import java.io.IOException;
diff --git a/src/main/java/com/android/apkzlib/zip/Eocd.java b/src/main/java/com/android/tools/build/apkzlib/zip/Eocd.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/Eocd.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/Eocd.java
index 1568840..a9da14b 100644
--- a/src/main/java/com/android/apkzlib/zip/Eocd.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/Eocd.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.utils.CachedSupplier;
+import com.android.tools.build.apkzlib.utils.CachedSupplier;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
diff --git a/src/main/java/com/android/apkzlib/zip/ExtraField.java b/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/ExtraField.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java
index d70fa7f..aa41491 100644
--- a/src/main/java/com/android/apkzlib/zip/ExtraField.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ExtraField.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.LittleEndianUtils;
+import com.android.tools.build.apkzlib.zip.utils.LittleEndianUtils;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import java.io.IOException;
diff --git a/src/main/java/com/android/apkzlib/zip/FileUseMap.java b/src/main/java/com/android/tools/build/apkzlib/zip/FileUseMap.java
similarity index 99%
rename from src/main/java/com/android/apkzlib/zip/FileUseMap.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/FileUseMap.java
index 8a76878..7e8e9d9 100644
--- a/src/main/java/com/android/apkzlib/zip/FileUseMap.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/FileUseMap.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
diff --git a/src/main/java/com/android/apkzlib/zip/FileUseMapEntry.java b/src/main/java/com/android/tools/build/apkzlib/zip/FileUseMapEntry.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/FileUseMapEntry.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/FileUseMapEntry.java
index 3e5aaba..01cbbfc 100644
--- a/src/main/java/com/android/apkzlib/zip/FileUseMapEntry.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/FileUseMapEntry.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.base.MoreObjects;
 import com.google.common.base.Preconditions;
diff --git a/src/main/java/com/android/apkzlib/zip/GPFlags.java b/src/main/java/com/android/tools/build/apkzlib/zip/GPFlags.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/GPFlags.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/GPFlags.java
index fc27c5d..96062ca 100644
--- a/src/main/java/com/android/apkzlib/zip/GPFlags.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/GPFlags.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import java.io.IOException;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/zip/InflaterByteSource.java b/src/main/java/com/android/tools/build/apkzlib/zip/InflaterByteSource.java
similarity index 94%
rename from src/main/java/com/android/apkzlib/zip/InflaterByteSource.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/InflaterByteSource.java
index 974d4ac..6efe2c7 100644
--- a/src/main/java/com/android/apkzlib/zip/InflaterByteSource.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/InflaterByteSource.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/src/main/java/com/android/apkzlib/zip/LazyDelegateByteSource.java b/src/main/java/com/android/tools/build/apkzlib/zip/LazyDelegateByteSource.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/LazyDelegateByteSource.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/LazyDelegateByteSource.java
index bdd3e4c..b755bae 100644
--- a/src/main/java/com/android/apkzlib/zip/LazyDelegateByteSource.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/LazyDelegateByteSource.java
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import com.google.common.hash.HashCode;
 import com.google.common.hash.HashFunction;
 import com.google.common.io.ByteProcessor;
diff --git a/src/main/java/com/android/apkzlib/zip/ProcessedAndRawByteSources.java b/src/main/java/com/android/tools/build/apkzlib/zip/ProcessedAndRawByteSources.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zip/ProcessedAndRawByteSources.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ProcessedAndRawByteSources.java
index 86c6382..8308406 100644
--- a/src/main/java/com/android/apkzlib/zip/ProcessedAndRawByteSources.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ProcessedAndRawByteSources.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import com.google.common.io.Closer;
 import java.io.Closeable;
 import java.io.IOException;
diff --git a/src/main/java/com/android/apkzlib/zip/StoredEntry.java b/src/main/java/com/android/tools/build/apkzlib/zip/StoredEntry.java
similarity index 99%
rename from src/main/java/com/android/apkzlib/zip/StoredEntry.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/StoredEntry.java
index 854bf3a..16f505e 100644
--- a/src/main/java/com/android/apkzlib/zip/StoredEntry.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/StoredEntry.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.CloseableByteSource;
-import com.android.apkzlib.zip.utils.CloseableDelegateByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.CloseableDelegateByteSource;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
diff --git a/src/main/java/com/android/apkzlib/zip/StoredEntryType.java b/src/main/java/com/android/tools/build/apkzlib/zip/StoredEntryType.java
similarity index 94%
rename from src/main/java/com/android/apkzlib/zip/StoredEntryType.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/StoredEntryType.java
index 9ce9252..736a813 100644
--- a/src/main/java/com/android/apkzlib/zip/StoredEntryType.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/StoredEntryType.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * Type of stored entry.
diff --git a/src/main/java/com/android/apkzlib/zip/VerifyLog.java b/src/main/java/com/android/tools/build/apkzlib/zip/VerifyLog.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/VerifyLog.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/VerifyLog.java
index 2a7db7c..4d8ebf8 100644
--- a/src/main/java/com/android/apkzlib/zip/VerifyLog.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/VerifyLog.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.collect.ImmutableList;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/zip/VerifyLogs.java b/src/main/java/com/android/tools/build/apkzlib/zip/VerifyLogs.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/VerifyLogs.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/VerifyLogs.java
index b7acb83..d1bea7a 100644
--- a/src/main/java/com/android/apkzlib/zip/VerifyLogs.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/VerifyLogs.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
diff --git a/src/main/java/com/android/apkzlib/zip/ZFile.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
similarity index 99%
rename from src/main/java/com/android/apkzlib/zip/ZFile.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
index 9034f4c..b7949b5 100644
--- a/src/main/java/com/android/apkzlib/zip/ZFile.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZFile.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.utils.CachedFileContents;
-import com.android.apkzlib.utils.IOExceptionFunction;
-import com.android.apkzlib.utils.IOExceptionRunnable;
-import com.android.apkzlib.zip.compress.Zip64NotSupportedException;
-import com.android.apkzlib.zip.utils.ByteTracker;
-import com.android.apkzlib.zip.utils.CloseableByteSource;
-import com.android.apkzlib.zip.utils.LittleEndianUtils;
+import com.android.tools.build.apkzlib.utils.CachedFileContents;
+import com.android.tools.build.apkzlib.utils.IOExceptionFunction;
+import com.android.tools.build.apkzlib.utils.IOExceptionRunnable;
+import com.android.tools.build.apkzlib.zip.compress.Zip64NotSupportedException;
+import com.android.tools.build.apkzlib.zip.utils.ByteTracker;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.LittleEndianUtils;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
 import com.google.common.base.VerifyException;
@@ -351,8 +351,8 @@
     private final List<IOExceptionRunnable> toRun;
 
     /**
-     * {@code true} when {@link #notify(com.android.apkzlib.utils.IOExceptionFunction)} is
-     * notifying extensions. Used to avoid reordering notifications.
+     * {@code true} when {@link #notify(com.android.tools.build.apkzlib.utils.IOExceptionFunction)}
+     * is notifying extensions. Used to avoid reordering notifications.
      */
     private boolean isNotifying;
 
diff --git a/src/main/java/com/android/apkzlib/zip/ZFileExtension.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZFileExtension.java
similarity index 97%
rename from src/main/java/com/android/apkzlib/zip/ZFileExtension.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZFileExtension.java
index fdb6ca4..2723a61 100644
--- a/src/main/java/com/android/apkzlib/zip/ZFileExtension.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZFileExtension.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.utils.IOExceptionRunnable;
+import com.android.tools.build.apkzlib.utils.IOExceptionRunnable;
 import java.io.IOException;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
diff --git a/src/main/java/com/android/apkzlib/zip/ZFileOptions.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZFileOptions.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/zip/ZFileOptions.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZFileOptions.java
index 08a1d83..e260455 100644
--- a/src/main/java/com/android/apkzlib/zip/ZFileOptions.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZFileOptions.java
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.compress.DeflateExecutionCompressor;
-import com.android.apkzlib.zip.utils.ByteTracker;
+import com.android.tools.build.apkzlib.zip.compress.DeflateExecutionCompressor;
+import com.android.tools.build.apkzlib.zip.utils.ByteTracker;
 import java.util.function.Supplier;
 import java.util.zip.Deflater;
 import javax.annotation.Nonnull;
diff --git a/src/main/java/com/android/apkzlib/zip/ZipField.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZipField.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/ZipField.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZipField.java
index 4b0b675..8e8d27d 100644
--- a/src/main/java/com/android/apkzlib/zip/ZipField.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZipField.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import com.android.apkzlib.zip.utils.LittleEndianUtils;
+import com.android.tools.build.apkzlib.zip.utils.LittleEndianUtils;
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
 import com.google.common.collect.Sets;
diff --git a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariant.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariant.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zip/ZipFieldInvariant.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariant.java
index 87fc46c..7207080 100644
--- a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariant.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariant.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * A field rule defines an invariant (<em>i.e.</em>, a constraint) that has to be verified by a
diff --git a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariantMaxValue.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantMaxValue.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/zip/ZipFieldInvariantMaxValue.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantMaxValue.java
index 5905e1a..65c4c5b 100644
--- a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariantMaxValue.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantMaxValue.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * Invariant checking a zip field does not exceed a threshold.
diff --git a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariantNonNegative.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantNonNegative.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zip/ZipFieldInvariantNonNegative.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantNonNegative.java
index 4d1770b..76c2fb2 100644
--- a/src/main/java/com/android/apkzlib/zip/ZipFieldInvariantNonNegative.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFieldInvariantNonNegative.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * Invariant that verifies a field's value is not negative.
diff --git a/src/main/java/com/android/apkzlib/zip/ZipFileState.java b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFileState.java
similarity index 95%
rename from src/main/java/com/android/apkzlib/zip/ZipFileState.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/ZipFileState.java
index 7ecf2d5..6d72816 100644
--- a/src/main/java/com/android/apkzlib/zip/ZipFileState.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/ZipFileState.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * The {@code ZipFileState} enumeration holds the state of a {@link ZFile}.
diff --git a/src/main/java/com/android/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java b/src/main/java/com/android/tools/build/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java
similarity index 92%
rename from src/main/java/com/android/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java
index 8948a1c..0e646cf 100644
--- a/src/main/java/com/android/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/compress/BestAndDefaultDeflateExecutorCompressor.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.compress;
+package com.android.tools.build.apkzlib.zip.compress;
 
-import com.android.apkzlib.zip.CompressionResult;
-import com.android.apkzlib.zip.utils.ByteTracker;
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.CompressionResult;
+import com.android.tools.build.apkzlib.zip.utils.ByteTracker;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import com.google.common.base.Preconditions;
 import java.util.concurrent.Executor;
 import java.util.zip.Deflater;
diff --git a/src/main/java/com/android/apkzlib/zip/compress/DeflateExecutionCompressor.java b/src/main/java/com/android/tools/build/apkzlib/zip/compress/DeflateExecutionCompressor.java
similarity index 88%
rename from src/main/java/com/android/apkzlib/zip/compress/DeflateExecutionCompressor.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/compress/DeflateExecutionCompressor.java
index 309e356..dbaeff0 100644
--- a/src/main/java/com/android/apkzlib/zip/compress/DeflateExecutionCompressor.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/compress/DeflateExecutionCompressor.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.compress;
+package com.android.tools.build.apkzlib.zip.compress;
 
-import com.android.apkzlib.zip.CompressionMethod;
-import com.android.apkzlib.zip.CompressionResult;
-import com.android.apkzlib.zip.utils.ByteTracker;
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.CompressionMethod;
+import com.android.tools.build.apkzlib.zip.CompressionResult;
+import com.android.tools.build.apkzlib.zip.utils.ByteTracker;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import java.io.ByteArrayOutputStream;
 import java.util.concurrent.Executor;
 import java.util.zip.Deflater;
diff --git a/src/main/java/com/android/apkzlib/zip/compress/ExecutorCompressor.java b/src/main/java/com/android/tools/build/apkzlib/zip/compress/ExecutorCompressor.java
similarity index 89%
rename from src/main/java/com/android/apkzlib/zip/compress/ExecutorCompressor.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/compress/ExecutorCompressor.java
index 54be20c..6a19907 100644
--- a/src/main/java/com/android/apkzlib/zip/compress/ExecutorCompressor.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/compress/ExecutorCompressor.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.compress;
+package com.android.tools.build.apkzlib.zip.compress;
 
-import com.android.apkzlib.zip.CompressionResult;
-import com.android.apkzlib.zip.Compressor;
-import com.android.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.CompressionResult;
+import com.android.tools.build.apkzlib.zip.Compressor;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
 import java.util.concurrent.Executor;
diff --git a/src/main/java/com/android/apkzlib/zip/compress/Zip64NotSupportedException.java b/src/main/java/com/android/tools/build/apkzlib/zip/compress/Zip64NotSupportedException.java
similarity index 94%
rename from src/main/java/com/android/apkzlib/zip/compress/Zip64NotSupportedException.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/compress/Zip64NotSupportedException.java
index 3b7411e..bf77e34 100644
--- a/src/main/java/com/android/apkzlib/zip/compress/Zip64NotSupportedException.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/compress/Zip64NotSupportedException.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.compress;
+package com.android.tools.build.apkzlib.zip.compress;
 
 import java.io.IOException;
 
diff --git a/src/main/java/com/android/apkzlib/zip/compress/package-info.java b/src/main/java/com/android/tools/build/apkzlib/zip/compress/package-info.java
similarity index 92%
rename from src/main/java/com/android/apkzlib/zip/compress/package-info.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/compress/package-info.java
index e2fcbd6..cdc85f8 100644
--- a/src/main/java/com/android/apkzlib/zip/compress/package-info.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/compress/package-info.java
@@ -17,4 +17,4 @@
 /**
  * Compressors to use with the {@code zip} package.
  */
-package com.android.apkzlib.zip.compress;
\ No newline at end of file
+package com.android.tools.build.apkzlib.zip.compress;
diff --git a/src/main/java/com/android/apkzlib/zip/utils/ByteTracker.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/ByteTracker.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/utils/ByteTracker.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/ByteTracker.java
index 88ed939..d956dd2 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/ByteTracker.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/ByteTracker.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import com.google.common.io.ByteSource;
 import com.google.common.io.ByteStreams;
diff --git a/src/main/java/com/android/apkzlib/zip/utils/CloseableByteSource.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableByteSource.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/zip/utils/CloseableByteSource.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableByteSource.java
index 1479a03..9af9671 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/CloseableByteSource.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableByteSource.java
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import com.google.common.io.ByteSource;
-
 import java.io.Closeable;
 import java.io.IOException;
 
diff --git a/src/main/java/com/android/apkzlib/zip/utils/CloseableDelegateByteSource.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableDelegateByteSource.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/utils/CloseableDelegateByteSource.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableDelegateByteSource.java
index aebb29a..df084d4 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/CloseableDelegateByteSource.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/CloseableDelegateByteSource.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import com.google.common.hash.HashCode;
 import com.google.common.hash.HashFunction;
diff --git a/src/main/java/com/android/apkzlib/zip/utils/LittleEndianUtils.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtils.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/utils/LittleEndianUtils.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtils.java
index c257d39..1fd056a 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/LittleEndianUtils.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.base.Verify;
diff --git a/src/main/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtils.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtils.java
similarity index 98%
rename from src/main/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtils.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtils.java
index 2b9f365..cc16cb4 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtils.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtils.java
@@ -14,10 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import com.google.common.base.Verify;
-
 import java.util.Calendar;
 import java.util.Date;
 
diff --git a/src/main/java/com/android/apkzlib/zip/utils/RandomAccessFileUtils.java b/src/main/java/com/android/tools/build/apkzlib/zip/utils/RandomAccessFileUtils.java
similarity index 96%
rename from src/main/java/com/android/apkzlib/zip/utils/RandomAccessFileUtils.java
rename to src/main/java/com/android/tools/build/apkzlib/zip/utils/RandomAccessFileUtils.java
index 3bfb55c..17c2d6c 100644
--- a/src/main/java/com/android/apkzlib/zip/utils/RandomAccessFileUtils.java
+++ b/src/main/java/com/android/tools/build/apkzlib/zip/utils/RandomAccessFileUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import java.io.IOException;
 import java.io.RandomAccessFile;
diff --git a/src/test/java/com/android/apkzlib/sign/FullApkSignTest.java b/src/test/java/com/android/tools/build/apkzlib/sign/FullApkSignTest.java
similarity index 86%
rename from src/test/java/com/android/apkzlib/sign/FullApkSignTest.java
rename to src/test/java/com/android/tools/build/apkzlib/sign/FullApkSignTest.java
index f72f63c..7514bb7 100644
--- a/src/test/java/com/android/apkzlib/sign/FullApkSignTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/sign/FullApkSignTest.java
@@ -14,19 +14,19 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertNotNull;
 
-import com.android.apkzlib.utils.ApkZLibPair;
-import com.android.apkzlib.zip.AlignmentRule;
-import com.android.apkzlib.zip.AlignmentRules;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileOptions;
-import com.android.apkzlib.zip.ZFileTestConstants;
-import com.android.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZLibPair;
+import com.android.tools.build.apkzlib.zip.AlignmentRule;
+import com.android.tools.build.apkzlib.zip.AlignmentRules;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.zip.ZFileTestConstants;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.security.PrivateKey;
diff --git a/src/test/java/com/android/apkzlib/sign/JarSigningTest.java b/src/test/java/com/android/tools/build/apkzlib/sign/JarSigningTest.java
similarity index 97%
rename from src/test/java/com/android/apkzlib/sign/JarSigningTest.java
rename to src/test/java/com/android/tools/build/apkzlib/sign/JarSigningTest.java
index 35aeeaf..359686c 100644
--- a/src/test/java/com/android/apkzlib/sign/JarSigningTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/sign/JarSigningTest.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
-import com.android.apkzlib.utils.ApkZLibPair;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZLibPair;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
 import com.google.common.base.Charsets;
 import com.google.common.hash.Hashing;
 import java.io.ByteArrayInputStream;
diff --git a/src/test/java/com/android/apkzlib/sign/ManifestGenerationTest.java b/src/test/java/com/android/tools/build/apkzlib/sign/ManifestGenerationTest.java
similarity index 96%
rename from src/test/java/com/android/apkzlib/sign/ManifestGenerationTest.java
rename to src/test/java/com/android/tools/build/apkzlib/sign/ManifestGenerationTest.java
index f0817d0..963903e 100644
--- a/src/test/java/com/android/apkzlib/sign/ManifestGenerationTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/sign/ManifestGenerationTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
 import com.google.common.base.Charsets;
 import com.google.common.io.Closer;
 import java.io.ByteArrayInputStream;
diff --git a/src/test/java/com/android/apkzlib/sign/SignatureTestUtils.java b/src/test/java/com/android/tools/build/apkzlib/sign/SignatureTestUtils.java
similarity index 97%
rename from src/test/java/com/android/apkzlib/sign/SignatureTestUtils.java
rename to src/test/java/com/android/tools/build/apkzlib/sign/SignatureTestUtils.java
index fb1d322..5f1d7e1 100644
--- a/src/test/java/com/android/apkzlib/sign/SignatureTestUtils.java
+++ b/src/test/java/com/android/tools/build/apkzlib/sign/SignatureTestUtils.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.sign;
+package com.android.tools.build.apkzlib.sign;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import com.android.apkzlib.utils.ApkZLibPair;
+import com.android.tools.build.apkzlib.utils.ApkZLibPair;
 import java.math.BigInteger;
 import java.security.KeyPair;
 import java.security.KeyPairGenerator;
diff --git a/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java b/src/test/java/com/android/tools/build/apkzlib/utils/ApkZFileTestUtils.java
similarity index 97%
rename from src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java
rename to src/test/java/com/android/tools/build/apkzlib/utils/ApkZFileTestUtils.java
index 1ef087f..217d3a1 100644
--- a/src/test/java/com/android/apkzlib/utils/ApkZFileTestUtils.java
+++ b/src/test/java/com/android/tools/build/apkzlib/utils/ApkZFileTestUtils.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.zip.ZFile;
 import com.android.testutils.TestResources;
+import com.android.tools.build.apkzlib.zip.ZFile;
 import com.google.common.base.Preconditions;
 import com.google.common.io.ByteSource;
 import com.google.common.io.Resources;
diff --git a/src/test/java/com/android/apkzlib/utils/CachedFileContentsTest.java b/src/test/java/com/android/tools/build/apkzlib/utils/CachedFileContentsTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/utils/CachedFileContentsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/utils/CachedFileContentsTest.java
index f9654d7..dc28a0f 100644
--- a/src/test/java/com/android/apkzlib/utils/CachedFileContentsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/utils/CachedFileContentsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNull;
@@ -23,13 +23,11 @@
 
 import com.google.common.base.Charsets;
 import com.google.common.io.Files;
-
+import java.io.File;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
-import java.io.File;
-
 public class CachedFileContentsTest {
     @Rule
     public TemporaryFolder mTemporaryFolder = new TemporaryFolder();
diff --git a/src/test/java/com/android/apkzlib/utils/CachedSupplierTest.java b/src/test/java/com/android/tools/build/apkzlib/utils/CachedSupplierTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/utils/CachedSupplierTest.java
rename to src/test/java/com/android/tools/build/apkzlib/utils/CachedSupplierTest.java
index e687bf3..cd082dc 100644
--- a/src/test/java/com/android/apkzlib/utils/CachedSupplierTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/utils/CachedSupplierTest.java
@@ -14,16 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.utils;
+package com.android.tools.build.apkzlib.utils;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import org.junit.Test;
-
 import java.util.function.Supplier;
+import org.junit.Test;
 
 public class CachedSupplierTest {
 
diff --git a/src/test/java/com/android/apkzlib/zfile/ApkAlignmentTest.java b/src/test/java/com/android/tools/build/apkzlib/zfile/ApkAlignmentTest.java
similarity index 96%
rename from src/test/java/com/android/apkzlib/zfile/ApkAlignmentTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zfile/ApkAlignmentTest.java
index 1731ba9..eee979a 100644
--- a/src/test/java/com/android/apkzlib/zfile/ApkAlignmentTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zfile/ApkAlignmentTest.java
@@ -14,17 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zfile;
+package com.android.tools.build.apkzlib.zfile;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.zip.CompressionMethod;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.zip.CompressionMethod;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.nio.file.Files;
diff --git a/src/test/java/com/android/apkzlib/zip/AlignmentTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/AlignmentTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/AlignmentTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/AlignmentTest.java
index e94a876..4f54b3e 100644
--- a/src/test/java/com/android/apkzlib/zip/AlignmentTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/AlignmentTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import static com.android.apkzlib.utils.ApkZFileTestUtils.readSegment;
+import static com.android.tools.build.apkzlib.utils.ApkZFileTestUtils.readSegment;
 import static junit.framework.TestCase.assertEquals;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertFalse;
diff --git a/src/test/java/com/android/apkzlib/zip/EncodeUtilsTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/EncodeUtilsTest.java
similarity index 97%
rename from src/test/java/com/android/apkzlib/zip/EncodeUtilsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/EncodeUtilsTest.java
index 8648aa0..adae865 100644
--- a/src/test/java/com/android/apkzlib/zip/EncodeUtilsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/EncodeUtilsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/com/android/apkzlib/zip/ExtraFieldTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ExtraFieldTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/ExtraFieldTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ExtraFieldTest.java
index 2371849..a173dc4 100644
--- a/src/test/java/com/android/apkzlib/zip/ExtraFieldTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ExtraFieldTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -22,14 +22,6 @@
 import static org.junit.Assert.fail;
 
 import com.google.common.collect.ImmutableList;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.TemporaryFolder;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-
 import java.io.ByteArrayInputStream;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -39,6 +31,12 @@
 import java.util.function.Function;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipOutputStream;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
 /**
  * Test setting, removing and updating the extra field of zip entries.
diff --git a/src/test/java/com/android/apkzlib/zip/FileUseMapTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/FileUseMapTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/zip/FileUseMapTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/FileUseMapTest.java
index 0ee0129..363a993 100644
--- a/src/test/java/com/android/apkzlib/zip/FileUseMapTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/FileUseMapTest.java
@@ -14,19 +14,17 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 import com.google.common.base.Stopwatch;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
 import java.text.DecimalFormat;
 import java.util.Random;
 import java.util.concurrent.TimeUnit;
+import org.junit.Ignore;
+import org.junit.Test;
 
 /**
  * Tests for {@link FileUseMap}.
diff --git a/src/test/java/com/android/apkzlib/zip/OldApkReadTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/OldApkReadTest.java
similarity index 91%
rename from src/test/java/com/android/apkzlib/zip/OldApkReadTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/OldApkReadTest.java
index 61a08d7..95ccc0e 100644
--- a/src/test/java/com/android/apkzlib/zip/OldApkReadTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/OldApkReadTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
 import java.io.File;
 import org.junit.Test;
 
diff --git a/src/test/java/com/android/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java
similarity index 92%
rename from src/test/java/com/android/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java
index 4301710..48c3e76 100644
--- a/src/test/java/com/android/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ReadWithDifferentCompressionLevelsTest.java
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
 import java.io.File;
 import org.junit.Test;
 
diff --git a/src/test/java/com/android/apkzlib/zip/ZFileNotificationTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileNotificationTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/zip/ZFileNotificationTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZFileNotificationTest.java
index 84be460..4e08f2c 100644
--- a/src/test/java/com/android/apkzlib/zip/ZFileNotificationTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileNotificationTest.java
@@ -14,15 +14,15 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 
-import com.android.apkzlib.utils.ApkZLibPair;
-import com.android.apkzlib.utils.IOExceptionRunnable;
+import com.android.tools.build.apkzlib.utils.ApkZLibPair;
+import com.android.tools.build.apkzlib.utils.IOExceptionRunnable;
 import com.google.common.collect.Lists;
 import java.io.ByteArrayInputStream;
 import java.io.File;
diff --git a/src/test/java/com/android/apkzlib/zip/ZFileReadOnlyTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileReadOnlyTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/ZFileReadOnlyTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZFileReadOnlyTest.java
index a030a83..b0dd5f7 100644
--- a/src/test/java/com/android/apkzlib/zip/ZFileReadOnlyTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileReadOnlyTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertNotNull;
diff --git a/src/test/java/com/android/apkzlib/zip/ZFileSortTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileSortTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/ZFileSortTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZFileSortTest.java
index 869f73a..dd75811 100644
--- a/src/test/java/com/android/apkzlib/zip/ZFileSortTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileSortTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/com/android/apkzlib/zip/ZFileTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/ZFileTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZFileTest.java
index b7f2979..fa69f5d 100644
--- a/src/test/java/com/android/apkzlib/zip/ZFileTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileTest.java
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
-import static com.android.apkzlib.utils.ApkZFileTestUtils.readSegment;
+import static com.android.tools.build.apkzlib.utils.ApkZFileTestUtils.readSegment;
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -28,9 +28,9 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import com.android.apkzlib.zip.compress.DeflateExecutionCompressor;
-import com.android.apkzlib.zip.utils.CloseableByteSource;
-import com.android.apkzlib.zip.utils.RandomAccessFileUtils;
+import com.android.tools.build.apkzlib.zip.compress.DeflateExecutionCompressor;
+import com.android.tools.build.apkzlib.zip.utils.CloseableByteSource;
+import com.android.tools.build.apkzlib.zip.utils.RandomAccessFileUtils;
 import com.google.common.base.Charsets;
 import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
diff --git a/src/test/java/com/android/apkzlib/zip/ZFileTestConstants.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileTestConstants.java
similarity index 95%
rename from src/test/java/com/android/apkzlib/zip/ZFileTestConstants.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZFileTestConstants.java
index fbf5739..85b9a76 100644
--- a/src/test/java/com/android/apkzlib/zip/ZFileTestConstants.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZFileTestConstants.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 /**
  * Constants used in tests.
diff --git a/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZipMergeTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/zip/ZipMergeTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZipMergeTest.java
index 0090bc7..cd1b246 100644
--- a/src/test/java/com/android/apkzlib/zip/ZipMergeTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZipMergeTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -23,7 +23,7 @@
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.utils.CachedFileContents;
+import com.android.tools.build.apkzlib.utils.CachedFileContents;
 import com.google.common.base.Charsets;
 import com.google.common.hash.Hashing;
 import com.google.common.io.ByteStreams;
diff --git a/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZipTestUtils.java
similarity index 96%
rename from src/test/java/com/android/apkzlib/zip/ZipTestUtils.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZipTestUtils.java
index aaff18b..d6e31a2 100644
--- a/src/test/java/com/android/apkzlib/zip/ZipTestUtils.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZipTestUtils.java
@@ -14,11 +14,11 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertFalse;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
 import com.google.common.io.Files;
 import java.io.File;
 import java.io.IOException;
diff --git a/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/ZipToolsTest.java
similarity index 99%
rename from src/test/java/com/android/apkzlib/zip/ZipToolsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/ZipToolsTest.java
index e45f117..d5108fe 100644
--- a/src/test/java/com/android/apkzlib/zip/ZipToolsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/ZipToolsTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip;
+package com.android.tools.build.apkzlib.zip;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
diff --git a/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/compress/MultiCompressorTest.java
similarity index 92%
rename from src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/compress/MultiCompressorTest.java
index 4f2eaf0..ee42eaa 100644
--- a/src/test/java/com/android/apkzlib/zip/compress/MultiCompressorTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/compress/MultiCompressorTest.java
@@ -14,18 +14,18 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.compress;
+package com.android.tools.build.apkzlib.zip.compress;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
-import com.android.apkzlib.utils.ApkZFileTestUtils;
-import com.android.apkzlib.zip.CentralDirectoryHeaderCompressInfo;
-import com.android.apkzlib.zip.CompressionMethod;
-import com.android.apkzlib.zip.StoredEntry;
-import com.android.apkzlib.zip.ZFile;
-import com.android.apkzlib.zip.ZFileOptions;
+import com.android.tools.build.apkzlib.utils.ApkZFileTestUtils;
+import com.android.tools.build.apkzlib.zip.CentralDirectoryHeaderCompressInfo;
+import com.android.tools.build.apkzlib.zip.CompressionMethod;
+import com.android.tools.build.apkzlib.zip.StoredEntry;
+import com.android.tools.build.apkzlib.zip.ZFile;
+import com.android.tools.build.apkzlib.zip.ZFileOptions;
 import com.google.common.util.concurrent.MoreExecutors;
 import java.io.ByteArrayInputStream;
 import java.io.File;
diff --git a/src/test/java/com/android/apkzlib/zip/utils/LittleEndianUtilsTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtilsTest.java
similarity index 98%
rename from src/test/java/com/android/apkzlib/zip/utils/LittleEndianUtilsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtilsTest.java
index 3264290..3ba856f 100644
--- a/src/test/java/com/android/apkzlib/zip/utils/LittleEndianUtilsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/utils/LittleEndianUtilsTest.java
@@ -14,15 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import static junit.framework.TestCase.assertEquals;
 import static org.junit.Assert.assertArrayEquals;
 
-import org.junit.Test;
-
 import java.nio.ByteBuffer;
 import java.util.Random;
+import org.junit.Test;
 
 public class LittleEndianUtilsTest {
     @Test
diff --git a/src/test/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java b/src/test/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java
similarity index 97%
rename from src/test/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java
rename to src/test/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java
index 012d587..953e9de 100644
--- a/src/test/java/com/android/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java
+++ b/src/test/java/com/android/tools/build/apkzlib/zip/utils/MsDosDateTimeUtilsTest.java
@@ -14,13 +14,12 @@
  * limitations under the License.
  */
 
-package com.android.apkzlib.zip.utils;
+package com.android.tools.build.apkzlib.zip.utils;
 
 import static org.junit.Assert.assertEquals;
 
-import org.junit.Test;
-
 import java.util.Calendar;
+import org.junit.Test;
 
 public class MsDosDateTimeUtilsTest {
     @Test
