我目前正在从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
?
我能够通过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
}
}