OSDN Git Service

make SignApk faster for OTA packages
authorDoug Zongker <dougz@android.com>
Tue, 3 Jul 2012 22:03:04 +0000 (15:03 -0700)
committerDoug Zongker <dougz@android.com>
Tue, 3 Jul 2012 22:03:04 +0000 (15:03 -0700)
Change to the default compression level instead of the max compression
level for OTA packages (-w): it's much faster and the difference in
output size is usually negligible.

Bug: 6778962
Change-Id: I82a6acc19be8b3289fd84c8c15f03ebeb7a1ce63

tools/signapk/SignApk.java

index d8d9bf1..cb19296 100644 (file)
@@ -497,7 +497,16 @@ class SignApk {
                 outputStream = outputFile = new FileOutputStream(args[argstart+3]);
             }
             outputJar = new JarOutputStream(outputStream);
-            outputJar.setLevel(9);
+
+            // For signing .apks, use the maximum compression to make
+            // them as small as possible (since they live forever on
+            // the system partition).  For OTA packages, use the
+            // default compression level, which is much much faster
+            // and produces output that is only a tiny bit larger
+            // (~0.1% on full OTA packages I tested).
+            if (!signWholeFile) {
+                outputJar.setLevel(9);
+            }
 
             JarEntry je;