1

我丢失了我的密钥库 (.jks) 文件,我很幸运 - 我之前使用过应用签名。因此,谷歌能够帮助我并重置我的密钥。

但是谷歌通过邮件给我的 SHA1 下一步是什么?他们给了我生成upload_certificate.pem 文件的说明,我通过邮件发送给他们。

然后,谷歌的回答是:

好消息 - 我能够注册您的新上传密钥,您需要更新您的应用才能使用新的上传密钥证书:SHA1:....

现在,我尝试使用用于生成 PEM 文件的 jks 文件以及新创建的 jks 文件上传 APK。在谷歌游戏控制台我得到:

您的 Android App Bundle 使用错误的密钥进行签名。确保您的 app bundle 使用正确的签名密钥进行签名,然后重试

你下一步怎么做?

4

2 回答 2

2

假设您按照“创建上传密钥”下的说明创建了一个新的上传密钥。这些大致是:

  • 生成上传密钥并安全存储。这会在名为“upload-keystore.jks”的密钥库中为您提供一个别名类似于“upload”的密钥
  • 使用类似的命令以 PEM 格式导出您的证书$ keytool -export -rfc -keystore upload-keystore.jks -alias upload -file upload_certificate.pem

如果这是您所做的,那么您需要使用您在步骤 1“upload-keystore.jks”中创建的密钥库使用别名“upload”对您的应用程序进行签名

他们发送给您的 SHA1 只是确认您使用了正确的密钥库的一种方式。如果您仍在使用您发送给他们的 PEM 的密钥库,那么如果您从 APK 打印出证书密钥库,它应该与该 SHA1 匹配。

您可以使用以下命令从已签名的 APK 中打印证书的 SHA1

keytool -list -printcert -jarfile app.apk

这将告诉您用于签名的证书(密钥/密钥库)的 SHA1。

于 2019-02-08T10:07:13.550 回答
0

在我尝试了所有想到的事情之后,包括 Android Studio 中的“使缓存无效并重新启动”,有效的解决方案是 Build->clean。感谢戴夫哈伯德的回答

于 2019-02-09T14:54:23.547 回答