Android Studio 无法使用Google Play应用签名上传证书(使用原始密钥库)更新发布版APK

9cbw7uwe  于 2022-12-04  发布在  Android
关注(0)|答案(2)|浏览(527)

我试图更新Google Play上的一个版本。上传我的签名APK后,我在Google Play控制台中收到了以下错误消息:
您上传了未使用上传证书签名的APK。您必须使用相同的证书。上传证书具有指纹:
[ SHA1:(SHA1杂凑已编辑) ]
和用于对您上传的APK进行签名的证书具有指纹:
[ SHA1:(不相符的SHA1杂凑已编辑) ]
我尝试了许多不同的方法来签署我的APK(原始密钥库,不同的密码组合,新的密钥库,不同的密钥组合,等等),但都没有成功。
我相当有信心,密钥库是原来的密钥库,因为我有它备份在一个外部驱动器,和更新日期的两个版本的文件是大约30分钟前,原来的版本(这是当我生成第一个签署APK)。
由于我使用了Google Play应用签名(预期的SHA1哈希与Play控制台上“应用签名”选项卡中的上传证书SHA1哈希相同),我假设我需要将证书导入到我用于上传原始版本APK的密钥库中。
下面是我的结果,我已经反复检查了一段时间,以确保它们不是由简单的打字错误引起的(编辑的部分按值分组为颜色,如果需要,我可以发布大部分):

请注意,keystorePass和实际的keyPass被指定为不同的传递,因此对两者使用keystorePass会返回“无法恢复密钥”UnrecoverableKeyException,而对密钥使用keyPass会给出一般异常“回复中的公钥和密钥库不匹配”。
我的一些研究发现,如果keystorePasskeyPass不相同,那么就会出现这个问题。建议的解决方案是使用keytool将keyPass更改为与keystorePass相同,但在我假设成功地更改了keytool keypasswd之后,我仍然收到异常“Public keys in reply and keystore don't match”。使用旧的keyPass返回预期的密码不正确异常。下面是一个屏幕截图:

出于故障排除的目的,我尝试将证书直接添加到密钥库中。使用keystorePass成功了,并从Google Play应用签名中获得了预期的uploade_cert.der文件的SHA1哈希值:

我还尝试创建新密钥库(以及在原始密钥库和新密钥库中使用相同密码创建新密钥),但在成功导入keytool上传证书后,尝试使用Android Studio和新密钥库生成签名APK时,我收到了以下Android Studio错误:“受信任的证书条目不受密码保护”
我已经尝试了所有这些步骤与原始和新的infos在我的Gradle应用程序文件(signingConfigs{release{keyAlias, keyPassword, storeFile, storePassword}}),但没有运气。希望得到我的应用程序更新,任何提示或协助将不胜感激。

8gsdolmq

8gsdolmq1#

您必须尝试以下步骤:
1.使用PEPK工具(在您的Google控制台上提供)加密您的私钥(yourKeyStore.jks),该工具用于签署APK的第一个版本。
1.生成一个新密钥(例如apk-upload),然后从upload-key. pem中的创建密钥中提取证书。
1.将upload-key.pem上传到您的Google帐户。
1.使用新密钥签署您的发布APK(apk-upload)。
您将在本文中找到不同的命令和更多详细信息:
https://medium.com/mindorks/securing-and-optimizing-your-app-with-google-play-app-signing-24a3658fd319

编辑:(来自评论)我认为,如果您已经注册了Google App Signings,您必须联系Google支持部门,让您能够上传新的私钥或获取旧的私钥...订阅Google App Signings时提供的选项,而且我认为,如果您已经注册了Google App Signings,则不可能用旧的方法放弃您的应用程序。

(* 提问者的编辑 *:请确保keystorePass和keyPass完全匹配。如果您已经使用不同的密码上传了您的密钥库/密钥,请按照Google支持页面上的步骤使用App Signing重置您的密钥库。

6psbrbz9

6psbrbz92#

我去我的备份文件夹与密钥库我已经记录在我的捆绑包,下载它,并重新添加到应用程序和工作,没有谷歌应用程序签名malarkey需要:)

相关问题