为啥重新安装 Android Studio 后 SHA-1 在 Google Play Console 中不起作用?

Posted

技术标签:

【中文标题】为啥重新安装 Android Studio 后 SHA-1 在 Google Play Console 中不起作用?【英文标题】:Why does SHA-1 is not working in Google Play Console after reinstalling Android Studio?为什么重新安装 Android Studio 后 SHA-1 在 Google Play Console 中不起作用? 【发布时间】:2020-11-21 03:36:12 【问题描述】:

我在 Google Play 管理中心上传了一个 android 应用。几天后我也更新了。现在我买了一台新笔记本电脑,所以我安装了 Android Studio。我运行签名报告以获取 SHA-1,因为我想在 Google API 中添加 SHA-1。之后,我使用相同的旧 .jks 和相同的凭据 [密码和密钥别名] 发布 APK。

现在,当我尝试在 Google Play 控制台中作为更新上传时,我得到了这个:

Upload failed
You uploaded an APK that is not signed with the upload certificate. You must use the same certificate. The upload certificate has fingerprint:
[ SHA1: E4:DC:C1:E9:E91..........:A0:EB:24 ]
and the certificate used to sign the APK you uploaded have fingerprint:
[ SHA1: 46:BC:09:BE:12......3:A4:34:EF ]

我的问题排查:

干净的构建 使缓存失效并重新启动 已尝试使用 App Bundle 和 App 发布签名的 APK 签名 V1 和 V2 每次我尝试在 Google Play 管理中心上传时,都会升级 versionCode 和 versionName。 进行了一项研究并试图了解其他有相同问题的人的答案。

但没有运气!请帮忙。

【问题讨论】:

你确定它是“同一个旧的.jks”吗?使用keytool -list -v -keystore path_to_keystore -alias alias_name 专门输出其内容和SHA-1。您可以使用正确的密钥库或不正确的密钥库对 APK 进行签名。没有第三种选择。 @JeneaVranceanu path_to_keystore 表示 .jks 文件路径? 我认为这是不可能的。我很确定您没有使用以前的密钥库。您必须使用以前的密钥库来更新 Playstore 上的应用程序。 @SychiSingh,正确。 @JeneaVranceanu 这是正确的吗? keytool -list -v -keystore C:\Users\xxx\AndroidStudioProjects\abc\www.jks -alias key0 【参考方案1】:

在 cmets 的讨论之后

当前使用的证书具有下一个 SHA1:46:BC:09:BE:12......3:A4:34:EF

这是错误的证书。 SHA1 应该是 E4:DC:C1:E9:E91..........:A0:EB:24

确保您使用的是您为 APK 签名并首次上传时使用的旧证书。如果旧证书丢失并且您无法恢复它您将无法再上传更新。悲伤,但真实。

接下来不是解决问题,但很高兴知道

Opt in to app signing by Google Play 让 Google Play 存储您的证书并处理签名。这样,您丢失证书的机会就会大大降低。如果用于签名的私钥丢失或泄露,您还可以更改它。巨大的进步!

如果您丢失了私有上传密钥或您的私有密钥已被泄露,您可以创建一个新密钥并联系 Google Play 支持团队重置密钥。

【讨论】:

好吧,我知道我失去了 jks。现在我有疑问:如果我联系支持团队,会发生什么?另外,在控制台中,我是否可以删除已发布的应用程序并添加新的应用程序?没关系,如果我会丢失下载。但我不想放开包名,因为我用那个包名创建了 firebase 项目。 @SychiSingh,如果您联系支持团队,他们将无法提供帮助。您应该能够从商店中取消发布该应用程序,但安装该应用程序的用户将能够使用它,直到他们手动将其删除并且您将无法从 Play 市场中完全删除该应用程序 .这意味着您将无法上传具有相同包名的相同应用程序。 那有什么解决办法呢?因为该包名称与 Firebase 项目相关联 如果密钥库丢失 - 创建新的密钥库,创建新的 Firebase 项目,更改包名称。在这种情况下,没有其他解决方案可用。 "DB in Firebase" - 你可以下载它并上传到一个新项目。不确定,因为我不经常使用它。

以上是关于为啥重新安装 Android Studio 后 SHA-1 在 Google Play Console 中不起作用?的主要内容,如果未能解决你的问题,请参考以下文章

Android studio下载后每次打开都要重新安装,在不用卸载的情况下怎么解决?

android studio安装完为啥在桌面没有快捷方式

为啥visual studio 2013安装后,没有c#模板?

重新安装 Windows/Visual Studio 2015/Xamarin - 找不到 Android SDK

如何安装android studio

android studio 运行模拟器调试时为啥是空白的