如果我使用 jarsigner 签署 AAB,我是否需要在部署之前签署 APKS 以及生成的 APK?
If I sign an AAB with jarsigner, do I need to sign the APKS and also the resulting APKs before deploying?
在 Azure DevOps 中,我正在解压缩 aab,修改 aab 中的一些文件(图标、资源、清单),并使用 bundletool 构建模块。我的下一步是:
- 使用 jarsigner 对 aab 进行签名
- 使用 bundletool 生成 APKS 并传递签名信息
- Unzip/extract里面的通用APK
- 使用 jarsigner 签署 APK 并将其发送到测试设备
我假设我签名的次数超过了必要的次数,因为我做了 3 次(AAB、APKS 和 APK)。哪些签名是必要的?每个签名任务只需要不到 10 秒,但每个任务都会增加额外的复杂性,我希望它尽可能简单以实现可重用性。
以下是所需签名的摘要:
App Bundle (.aab)
在上传到 Play 商店之前需要签名(jarsigner
)。
开发或测试期间无需签名。
APK 集 (.apks)
不需要签名。曾经.
APKs (.apk)(APK 集中的那些)
始终需要签名(除非您不打算安装这些 APK)。
当传递 --ks
标志时,Bundletool 会自动为他们在 .apks 中生成的 APK 签名,因此大多数开发者永远不必自己做。
但是,您提到您修改了“某些文件”:如果您修改了 APK,则需要再次对它们进行签名(最好使用 apksigner
而不是 jarsigner
-- 更多安全,并使 APK 安装速度更快)。
这是一个如何使用 Xamarin 和 Azure DevOps 生成 Android App Bundle 的示例:https://damienaicheh.github.io/xamarin/azure/devops/2020/02/03/generate-android-app-bundle-xamarin-azure-devops-en.html
以及关于 Xamarin.Android app-bundles 的文档
https://github.com/xamarin/xamarin-android/blob/master/Documentation/guides/app-bundles.md
说:“App Bundle 只能用 jarsigner
签名(而不是 apksigner
)。App Bundle 不需要使用 zipalign
。Xamarin.Android 应该继续签名 .aab
文件与当前对 .apk
文件所做的相同。com.company.app-Signed.aab
文件将在 $(OutputPath)
中生成,以匹配我们当前与 APK 文件的行为。"
在 Azure DevOps 中,我正在解压缩 aab,修改 aab 中的一些文件(图标、资源、清单),并使用 bundletool 构建模块。我的下一步是:
- 使用 jarsigner 对 aab 进行签名
- 使用 bundletool 生成 APKS 并传递签名信息
- Unzip/extract里面的通用APK
- 使用 jarsigner 签署 APK 并将其发送到测试设备
我假设我签名的次数超过了必要的次数,因为我做了 3 次(AAB、APKS 和 APK)。哪些签名是必要的?每个签名任务只需要不到 10 秒,但每个任务都会增加额外的复杂性,我希望它尽可能简单以实现可重用性。
以下是所需签名的摘要:
App Bundle (.aab)
在上传到 Play 商店之前需要签名(jarsigner
)。
开发或测试期间无需签名。
APK 集 (.apks)
不需要签名。曾经.
APKs (.apk)(APK 集中的那些)
始终需要签名(除非您不打算安装这些 APK)。
当传递 --ks
标志时,Bundletool 会自动为他们在 .apks 中生成的 APK 签名,因此大多数开发者永远不必自己做。
但是,您提到您修改了“某些文件”:如果您修改了 APK,则需要再次对它们进行签名(最好使用 apksigner
而不是 jarsigner
-- 更多安全,并使 APK 安装速度更快)。
这是一个如何使用 Xamarin 和 Azure DevOps 生成 Android App Bundle 的示例:https://damienaicheh.github.io/xamarin/azure/devops/2020/02/03/generate-android-app-bundle-xamarin-azure-devops-en.html
以及关于 Xamarin.Android app-bundles 的文档
https://github.com/xamarin/xamarin-android/blob/master/Documentation/guides/app-bundles.md
说:“App Bundle 只能用 jarsigner
签名(而不是 apksigner
)。App Bundle 不需要使用 zipalign
。Xamarin.Android 应该继续签名 .aab
文件与当前对 .apk
文件所做的相同。com.company.app-Signed.aab
文件将在 $(OutputPath)
中生成,以匹配我们当前与 APK 文件的行为。"