APK从不同的密钥库更新

时间:2016-09-16 12:19:56

标签: android signing

阅读The apk must be signed with the same certificates as the previous version

我发现问题描述为

  

上传失败

     

您上传了使用其他证书签名的APK到之前的APK。您必须使用相同的证书。

接受的答案陈述(来自android网站)

  

.apk必须使用相同的私钥进行签名。如果程序包名称和签名证书与现有版本的名称和签名证书不匹配,则Market会将其视为新应用程序,并且不会将其作为更新提供给用户。

其他答案还声称您必须拥有原始密钥库。

这3个不同的陈述。它是哪一个?

  • 密钥库是否必须相同(以及如何检查)?
  • 我可以使用不同的密钥库,只要它们包含相同的证书吗?
  • 我可以使用不同的证书吗,只要它来自同一个密钥对?

3 个答案:

答案 0 :(得分:0)

阅读文档:Launch Checklist & Publishing Updates on Android Market

  

在上传更新的应用程序之前,请确保您拥有   增加了android:versionCode和android:versionName属性   在清单文件的元素中。此外,包名必须是   相同且 .apk必须使用相同的私钥进行签名。 如果   包名称和签名证书与那些不匹配   现有版本,Market会认为它是一个新的应用程序,并将   不作为更新提供给用户。

答案 1 :(得分:0)

从android支持reference link's,以下是结束场景的要点。如果你可以让你的试验通过这三个,那就不应该有任何麻烦

  
      
  • 更新的APK的包名称必须与当前版本相同。
  •   
  • 版本代码需要大于当前版本。
  •   
  • 更新后的APK需要使用与当前版本相同的签名进行签名。
  •   

要验证您的APK是否使用与之前版本相同的认证,您可以在两个APK上运行以下命令并比较结果

$ jarsigner -verify -verbose -certs my_application.apk

如果结果相同,则表示您使用相同的密钥并准备好继续。如果结果不同,您需要使用正确的密钥重新签名APK。

有关详细信息,请查看此link mentioning Sign Your App Procedures

答案 2 :(得分:0)

实际上你需要更新强制性的

  • Apk版本
  • 版本代码

必须相同:

  • keystores&密码
  • Pckd Name。