0

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

在命令行上,我知道有zipalign两次破解,这对我有用。

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

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

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

4

1 回答 1

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
    }
}
于 2018-03-01T15:31:11.313 回答