到目前为止,我们已经将aab捆绑包上传到Google Play,并且(尽管我们现在使用Google Play的应用程序签名(,在上传之前,我们也对aab捆绑进行了代码签名,如下所示:
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
release {
if (System.getenv()["CI"]) { // CI=true is exported by our CI
storeFile file(System.getenv()["CI_KEYSTORE_PATH"])
storePassword System.getenv()["CI_KEYSTORE_PASSWORD"]
keyAlias System.getenv()["CI_KEY_ALIAS"]
keyPassword System.getenv()["CI_KEY_PASSWORD"]
}
}
我们最近决定迁移到另一个CI(github操作(,所以我们想知道我们是否仍然需要对发布aab文件进行代码签名(从而处理向新CI上传机密等带来的所有开销(,因为我们启用了Google Play签名, 谷歌无论如何都会为我们处理签名我们是否可以使用 p.s我们将使用fastlane构建和部署我们的react原生项目debug signingConfig
,或者更好的是根本不进行代码签名,并在发布时让谷歌播放处理?
正如您可能知道的,应用程序签名密钥非常重要,因为它不容易更改,如果它被泄露,您的许多用户将面临风险。
既然谷歌正在签署APK,如果你仍然持有应用程序签名密钥,你应该确保将其保存在一个有限制ACL的安全地方,你不应该再使用它签署任何东西。
通过Google Play应用程序签名,可以使用不同的密钥(称为上传密钥(对应用程序捆绑包进行签名。虽然不是强制性的,但建议您利用此功能,因为它可以确保应用程序签名密钥的安全,并且只使用上传密钥对上传到游戏控制台的应用程序捆绑包进行签名。有关此密钥的详细信息,请点击此处:https://support.google.com/googleplay/android-developer/answer/7384423
如果上传密钥被泄露或丢失,你只需请求谷歌创建一个新密钥,这不会影响你的用户。
请注意,所有应用程序捆绑包都需要在上传到Play控制台时进行签名(它不能是调试证书(,因此,除非您构建的捆绑包仅用于测试,并且您不打算将其上传到Play,否则您应该始终对其进行签名(最好使用上传密钥(。
希望能有所帮助,