Android 为什么我的Gradle APK比Ant';s
我一直在考虑迁移到Gradle,但我意识到,与我们的Ant构建相比,我们的应用程序大小显著增加了700kb以上,这并不是真正的原因。我试着解压APK文件并重新压缩,它们的大小差不多 这里是apk和结果re-zips的Android 为什么我的Gradle APK比Ant';s,android,ant,android-gradle-plugin,Android,Ant,Android Gradle Plugin,我一直在考虑迁移到Gradle,但我意识到,与我们的Ant构建相比,我们的应用程序大小显著增加了700kb以上,这并不是真正的原因。我试着解压APK文件并重新压缩,它们的大小差不多 这里是apk和结果re-zips的ls输出 -rw-r--r-- 1 andrew staff 7814614 May 8 16:09 ant-built.apk -rw-r--r-- 1 andrew staff 7927650 May 8 16:12 ant-zipped.zip -rw-r-
ls
输出
-rw-r--r-- 1 andrew staff 7814614 May 8 16:09 ant-built.apk
-rw-r--r-- 1 andrew staff 7927650 May 8 16:12 ant-zipped.zip
-rw-r--r-- 1 andrew staff 8534075 May 8 16:10 gradle-built.apk
-rw-r--r-- 1 andrew staff 7963004 May 8 16:12 gradle-zipped.zip
正如您所看到的,Gradle的输出要大得多,但是当压缩时,它的大小基本上与Ant构建的压缩版本相同。是否有任何原因导致Gradle文件在默认情况下更大?两个APK都有zipaligned和签名。拉链是使用basic
zip
命令行压缩的。在Ant或Gradle中没有做任何特殊的构建。事实证明,我们在Ant构建中做了一个额外的签名步骤,使文件大小更小。在未签名的Gradle构建之后,手动执行两个签名步骤会在Gradle和ant之间创建等效的大小。不幸的是,我不认为它可以被进一步锁定,因为现在我不能使用Gradle的常规signingConfig。当你解压APK以查看其中的内容时,你看到了什么不同?@Commonware的内容似乎是相同的。嗯,有些东西必须是不同的,否则它们将是相同的大小。原始文件大小相同吗?压缩文件大小相同吗?我的猜测是,原始文件大小相同,但对于一些条目,压缩的条目不同,因为它们禁用了基于路径或文件扩展名的某些条目的压缩。尝试使用“meld”来区分已解压缩APK的两个目录。