【问题标题】:How to generate a new KEYSTORE file for Unity based on App Signing Certificate?如何根据应用签名证书为 Unity 生成新的 KEYSTORE 文件?
【发布时间】:2023-12-09 03:24:01
【问题描述】:

我已为 Google Play 上已存在的应用启用“Google Play 应用签名”。

现在我无法使用旧的 KEYSTORE (.keystore) 文件上传新的应用版本。

我应该根据证书指纹(附在下图中)生成一个新的 KEYSTORE 文件吗?如何?

注意:这个问题是针对 Unity 平台的。(Unity 2018 版)

我在新应用版本上传后得到的实际错误信息是这样的:

上传失败

您上传的 APK 未使用上传证书进行签名。您必须使用相同的证书。上传证书有指纹:

[SHA1:9A:...]

并且用于签署您上传的 APK 的证书有指纹:

[SHA1: 36:...]

【问题讨论】:

标签: android unity3d keystore android-keystore


【解决方案1】:

当您通过 Play 注册 App Signing 时,您似乎选择了创建上传密钥(可能是通过创建新的密钥库)。从现在开始,您应该使用这个新的密钥/密钥库对上传到 Play 管理中心的 APK 进行签名。 请注意,应该仍然能够使用旧密钥库上传 APK。我在您的屏幕截图上看不到完整的证书指纹,但从错误消息看来,您正在上传的 APK 既没有使用上传密钥也没有使用部署(也称为应用程序签名)密钥进行签名。尝试找到密钥库并识别您在创建上传密钥时使用的别名并使用它们。

【讨论】:

    【解决方案2】:

    首先要注意:

    启用 Google App Signing 后,您将无法再次禁用它。 应用登录流程如图所示:

    因此,您需要先生成上传密钥,然后 Google 会为您处理应用签名密钥。

    要生成上传密钥,从 upload_cert.der 并使用 keytool.exe 我在 here 中找到了唯一的答案。

    我试过了,它看起来是真的: 您无法在 Google Play 管理中心使用上传证书签署 APK。

    我记得我结束了与 Google 支持的联系,他们提供了一个如何创建新证书的过程,然后它就起作用了。

    【讨论】:

      最近更新 更多