如何基于App签名证书为Unity生成新的KEYSTORE文件?

时间:2018-11-03 10:45:54

标签: android unity3d keystore android-keystore

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

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

我应该基于证书指纹(在下面的图像箱中)生成一个新的KEYSTORE文件吗?

注意:此问题特定于Unity平台。(Unity的2018年发布)

enter image description here

上传新的应用版本后,我收到的实际错误消息是这样的:

  

上传失败

     
    

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

         

[SHA1:9A:...]

         

以及用于对上传的APK进行签名的证书具有指纹:

         

[SHA1:36:...]

  

2 个答案:

答案 0 :(得分:1)

首先要注意的是:

启用Google App签名后,您将无法再次禁用它。 该应用的登录过程如下图所示:

enter image description here

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

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

我尝试了一下,看起来确实是这样: 您无法在Google Play控制台中使用上传证书对APK进行签名。

我记得我结束了与Google支持人员的联系,他们提供了创建新证书的过程,然后该证书起作用了。

答案 1 :(得分:1)

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