使用不同的密钥库将新的apk(version2)作为更新上传到.apk(version1)

时间:2014-01-20 11:45:07

标签: android

我在开发者控制台上开发并发布了一个应用程序(版本1)。不幸的是我的操作系统崩溃了,所以我丢失了我的密钥库。现在我想发布一个更新的应用程序(版本2)。尝试更新时说“证书不匹配”。那么如何在app(版本1)的位置更新我的应用程序(版本2)。我还想向已经在使用我的应用程序(版本1)的用户提供此应用程序(版本2)的更新。欢迎任何建议......!在此先感谢..!

3 个答案:

答案 0 :(得分:1)

如果您丢失了密钥库,那么您将无法向现有应用发布任何更新。没有办法做到这一点。因此,如果您没有备份密钥库,那么您将注定失败。

答案 1 :(得分:1)

您的坏消息 - 您将无法更新您的应用 - 这就是Key-store的全部理念。

查看文档here

  

应用程序升级 - 在您发布应用程序更新时,如果希望用户能够无缝升级到新版本,则必须继续使用相同证书或一组证书对更新进行签名版。当系统正在为应用程序安装更新时,它会将新版本中的证书与现有版本中的证书进行比较。如果证书完全匹配,包括证书数据和订单,则系统允许更新。如果您在不使用匹配证书的情况下签署新版本,则还必须为应用程序分配不同的包名称 - 在这种情况下,用户将新版本安装为全新的应用程序

换句话说 - 您的应用不会被视为更新,而是新应用。

答案 2 :(得分:1)

更新应用程序的唯一方法是使用相同的程序包名称和密钥库进行构建。出于某种原因,它被称为密钥库 - 它是您应用程序的关键,没有其他人可以获得它。如果你已经失去了它,那么就无法做到 - 即使谷歌也无法为你恢复它。如果您在Google Play上发布,那么保留密钥库的备份以避免此问题至关重要。