从命令行构建 APK 后,使用 zopfli 重新压缩运行 zipalign 以使其更小

Ran*_*ku' 5 android android-gradle-plugin zipalign zopfli

正如Google 开发者文章中提到的,现在可以通过运行 .zopfli 来重新压缩 APK 文件zipalign -z。就我而言,在 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自动运行的命令来运行,而无需重新构建路径?zipalignbuild-tools

例如这样的命令gradle runBuildTools zipalign -z $FINAL_APK $FINAL_APK.out

Joe*_*der 3

您链接到的文章已使用 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')
            }
        }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)