android - 如果我使用 jarsigner 签署 AAB,我是否需要在部署之前签署 APKS 以及生成的 APK?
问题描述
在 Azure DevOps 中,我正在解压缩 aab,修改 aab 中的一些文件(图标、资源、清单),并使用 bundletool 构建模块。我的下一步是:
- 使用 jarsigner 对 aab 进行签名
- 使用 bundletool 生成 APKS 并传递签名信息
- 解压/解压其中的通用 APK
- 使用 jarsigner 对 APK 进行签名并将其发送到测试设备
我假设我签署的次数超过了必要的次数,因为我做了 3 次(AAB、APKS 和 APK)。哪个签名是必要的?每个签名任务只需要不到 10 秒的时间,但每个任务都增加了额外的复杂性,我希望这尽可能简单以实现可重用性。
解决方案
以下是所需签名的摘要:
应用程序包 (.aab)
jarsigner
在上传到 Play 商店之前需要签名(使用)。
在开发或测试期间不需要签名。
APK 集 (.apks)
不需要签名。曾经。
APK (.apk)(APK 集中的那些)
始终需要签名(除非您不打算安装这些 APK)。
Bundletool 会在传递标志时自动为它在 .apks 中生成的 APK 签名--ks
,因此大多数开发人员不必自己做。
但是,您已经提到您修改了“一些文件”:如果您修改了 APK,您将需要再次对它们进行签名(理想情况下使用apksigner
而不是jarsigner
-- 更安全,并使 APK 更快地安装)。