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

在命令行上,我知道对zipalign进行了两次入侵,对我有用。

但是,当我在Jenkins上运行zipalign时,出现此错误:



我该怎么做才能使zipalign工作,以便可以使用apksigner

最佳答案

我可以尝试捕获解决方案。很难看,但是可以用。

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
    }
}

10-06 01:25