运行 从命令行构建 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')
            }
        }
    }
  }
}