不久前,我将自己的应用上传到谷歌Play(游戏邦注:当时它还叫Android Market)。

今天我更新了应用程序,但我已经删除了以前的密钥存储库,并创建了一个新的。 上传时,它说APK必须与之前的版本使用相同的证书进行签名:

上传失败 您上传了一个使用不同证书签名的APK到以前的APK。必须使用相同的证书。 您现有的apk已使用带有指纹的证书进行签署: [SHA1: 89:2F: 11: FE: CE: D6: CC: DF: 65: E7:76:3E: DD: A7:96:4F: 84: DD: BA: 33) 用于签署您上传的APK的证书具有指纹: (SHA1: 20:26: F4: C1: DF: 0 f: 2 b: D9:46:03: FF:阿瑟:07:B1:28:7B: 9 c: 75:44: CC]

但是我没有这个证书,也不想删除并重新发布应用程序,因为它有活动用户。

如何用新证书签署我的应用程序?


当前回答

如果你有之前的apk文件(备份),那么使用jarSigner从apk中提取证书,然后使用该密钥或使用keytool克隆该证书,可能会有帮助… 有帮助的链接是jarsigner文档和keytool文档。

其他回答

今天我遇到了同样的问题,不幸的是,我在我的密钥文件中有两个别名。

什么对我有效:我意识到我之前上传了一个。aab文件,现在我试图上传。apk文件。我只需要在构建设置上检查构建应用程序包(谷歌Play)

对于Flutter开发者: 您需要重新验证密钥。属性文件。

android / key.properties

我强烈推荐Keystore Explorer (https://keystore-explorer.org/),它可以让您访问密钥存储库,而无需将其上传到谷歌Play。这样,您就可以排除是否输入了错误的密码。

什么都没有-谷歌清楚地表示应用程序是由用于签名的密钥标识的。因此,如果您丢失了密钥,则需要创建一个新的应用程序。