Android - zipalign在apksigner之前失败了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - 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

答案

我能够通过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
    }
}

以上是关于Android - zipalign在apksigner之前失败了的主要内容,如果未能解决你的问题,请参考以下文章

APK优化工具zipalign的详细介绍和使用

自定义 Android Gradle -- 启动 zipalign 优化

Unity Android 构建错误 WIN32 异常 ZipAlign

无法打开 'android-release-unsigned.apk' 作为 zip 存档(zipalign 错误)

AzureDevOps Android Pipeline zipalign - 失败,退出代码为 1

zipalign.exe'' 以非零退出值结束