android – 从命令行构建APK后使用zopfli recompression运行zipalign以使其更小


Google Developers’ article所述,现在可以通过运行zipalign -z使用zopfli重新压缩APK文件.就我而言,在5.1 MB APK文件中观察到减少了200 KB.

通常我通过运行gradle assembleRelease使用自定义shell脚本构建APK.

我想运行zipalign -z 经过上述命令.但是,zipalign位于build-tools / 目录,我无法找到它,除非通过拉出 从build.gradle文件中手动构建路径.

是否可以使用gradle命令运行zipalign,该命令会在正确的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')
            }
        }
    }
  }
}
点赞