运行 从命令行构建 APK 后使用 zopfli 重新压缩 zipalign 以使其更小
Running zipalign with zopfli recompression after building APK from command line to make it smaller
如 Google Developers' article 中所述,现在可以通过 运行ning zipalign -z
使用 zopfli 重新压缩 APK 文件。在我的例子中,5.1 MB 的 APK 文件减少了 200 KB。
通常我使用自定义 shell 脚本构建 APK,由 运行ning gradle assembleRelease
。
我想运行 zipalign -z <the final apk>
在上面的命令之后。但是,zipalign
位于 build-tools/<build tools version>
目录中,我无法找到它,除非从 build.gradle
文件中拉出 <build tools version>
并手动构建路径。
是否可以 运行 zipalign
使用 gradle
命令自动 运行 正确 build-tools
目录中的 zipalign
而无需我必须重建路径?
例如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')
}
}
}
}
}
如 Google Developers' article 中所述,现在可以通过 运行ning zipalign -z
使用 zopfli 重新压缩 APK 文件。在我的例子中,5.1 MB 的 APK 文件减少了 200 KB。
通常我使用自定义 shell 脚本构建 APK,由 运行ning gradle assembleRelease
。
我想运行 zipalign -z <the final apk>
在上面的命令之后。但是,zipalign
位于 build-tools/<build tools version>
目录中,我无法找到它,除非从 build.gradle
文件中拉出 <build tools version>
并手动构建路径。
是否可以 运行 zipalign
使用 gradle
命令自动 运行 正确 build-tools
目录中的 zipalign
而无需我必须重建路径?
例如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')
}
}
}
}
}