Android - zipalign在apksigner之前失败了

时间:2018-02-28 21:43:42

标签: android gradle build zipalign apksigner

我目前正在从V1签名(jarsigner)升级到V2签名(apksigner)。 Jarsigner一直在为我工作没有问题,但是在我运行zipalign之前,我在build.gradle中遇到apksigner的问题。

在命令行上,我知道有两次zipalign黑客攻击,这对我有用。

但是,当我在Jenkins上运行zipalign时,我收到了这个错误:

  

处理'命令'/Users/admin/Library/Android/sdk/build-tools/27.0.1/zipalign''以非零退出值1结束

我可以做些什么让zipalign工作,以便我可以使用apksigner

1 个答案:

答案 0 :(得分:0)

我能够通过try-catch来解决问题。这很难看,但它确实有效。

try {
    println "Zipaligning ${apkFile.name}"
    exec {
        commandLine zipalign, '-f', '4', apkFile.canonicalPath, tempAPK.canonicalPath
    }
} catch (err) {
    // Zipalign twice if first zipalign fails
    exec {
        commandLine zipalign, '-f', '4', tempAPK.canonicalPath, signedAPK.canonicalPath
    }
}