如 Google Developers' article 中所述, 现在可以通过运行 zipalign -z
使用 zopfli 重新压缩 APK 文件.在我的例子中,5.1 MB 的 APK 文件减少了 200 KB。
通常我使用自定义 shell 脚本构建 APK,方法是运行 gradle assembleRelease
.
我要运行 zipalign -z <the final apk>
在上面的命令之后。然而,zipalign
位于 build-tools/<build tools version>
目录,我无法找到它,除非拉出 <build tools version>
来自 build.gradle
文件并手动构建路径。
是否可以运行 zipalign
使用 gradle
自动运行 zipalign
的命令在正确的build-tools
目录而不需要我重新构建路径?
例如 gradle runBuildTools zipalign -z $FINAL_APK $FINAL_APK.out
这样的命令
最佳答案
article您链接到的已使用 gradle 任务更新,以将 zopfli 压缩添加到 assembleRelease 任务的末尾。
//add zopfli to variants with release build type
android.applicationVariants.all { variant ->
if (variant.buildType.name == 'release') {
variant.outputs.each { output ->
output.assemble.doLast {
println "Zopflifying... it might take a while"
exec {
commandLine output.zipAlign.zipAlignExe,'-f','-z', '4', output.outputFile.absolutePath , output.outputFile.absolutePath.replaceAll('\\.apk$', '-zopfli.apk')
}
}
}
}
}
关于android - 从命令行构建 APK 后运行 zipalign 和 zopfli 重新压缩以使其更小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570114/