无法上传 android 包到 Google Play with Google Play app signing via fastlane

Unable to upload android bundle to Google Play with Google Play app signing via fastlane

我们在 Google Play 中发布了一些应用程序,所有应用程序都使用相同的密钥库进行签名。去年我们切换到应用程序包,启用 Google Play 签名。手动签名和上传包时一切正常。尽管当我尝试通过 fastlane 将捆绑包上传到 Google Play 时,它给了我一个错误:

Google Api Error: apkNotificationMessageKeyBundleSignedWithWrongKey: The Android App Bundle was signed with the wrong key. Found: SHA1:...., expected: SHA1:......

如果我手动上传相同的 .aab,一切都很好。 我应该怎么办?我想是从 Google Play signing。 我不想破坏任何东西,因为我只是开发人员而不是帐户所有者。我可以在不破坏现有密钥库的情况下生成新的密钥库吗?

编辑:在 Google 控制台的 App Signing 选项卡上,我可以下载 upload_cert.der 和 deployment_cert.der

您无法恢复丢失的密钥库,但您可以在 Playstore 上替换密钥库,您只需要在 Play 商店控制台上启用 google Play 应用签名 您可以在 Play 商店上替换新的 Keystore 认证。比您可以更新您的应用程序,无需从游戏商店中删除您的应用程序您可以更新您的应用程序。现在可以,2017 年 5 月之后,如果您丢失了密钥库或密钥库密码,您可以更新您的应用程序。您可以使用新的 Keystore 文件更新您的应用程序,请参阅此博客

https://support.google.com/googleplay/android-developer/answer/7384423?hl=en

  1. 按照 Android Studio 帮助中心中的说明生成新密钥。它必须不同于任何以前的密钥。或者,您可以使用以下命令行生成新密钥:keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks 此密钥必须是 2048 位 RSA 密钥且有效期为 25 年。

2.Export PEM 格式密钥的证书:keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

3.Reply 添加到此电子邮件并附上 upload_certificate.pem 文件。

通过 API 或通过 Play 控制台 UI 对签名密钥的验证是相同的,因此您可能不会通过 fastlane 手动上传相同的文件。

确保使用相同的密钥库文件(和相同的密钥别名)在 fastlane 中对 App Bundle 进行签名。

我意识到我没有在 fastlane supply 命令中指定 package_name 参数,所以它试图将包上传到错误的应用程序。傻我。

对于那些可能感兴趣的人,我就此问题联系了 Google 支持人员,他们建议我重置应用程序的密钥。但毕竟没有必要