通过fastlane进行Google Play应用签名后,无法将Android捆绑包上传到Google Play

3
我们在 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签名那里出了问题。既然我只是开发者而不是账户所有者,我不想搞砸任何东西。我能否生成新的密钥库而不会破坏现有的东西?

编辑:在Google控制台的应用签名选项卡中,我可以下载upload_cert.der和deployment_cert.der。

3个回答

1
通过API或Play Console UI验证签名密钥是相同的,因此您很可能不会手动上传相同的文件和通过fastlane上传。
确保在fastlane中使用相同的密钥库文件(和相同的密钥别名)来签署App Bundle。

1
我意识到在fastlane supply命令中没有指定package_name参数,因此它试图将捆绑包上传到错误的应用程序。我真是太傻了。
对于那些可能感兴趣的人,我向Google支持团队提出了这个问题,他们建议我重置应用程序的密钥。但事实上并不需要这样做。

0

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

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.将该密钥的证书导出为PEM格式:keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

3.回复此电子邮件并附上 upload_certificate.pem 文件。


1
我仍然拥有我的初始密钥库并继续使用它。已启用Google Play应用签名。问题只出现在我尝试通过fastlane上传捆绑包时。手动上传一切正常。 - Mike Makhovyk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接