如何将迁移签名应用于Flash Builder创建的APK



我使用Flash Builder开发了一个android应用程序。

1.0版本已使用旧证书创建(。可以文件)。

该证书已过期。

所以我用一个新的证书创建了新的1.1版本。

但是当我尝试安装新版本时,显示以下消息:

未安装的应用程序:同名的现有包冲突的签名已经安装。

有一个简单的解决方案:卸载第一个版本(1.0)并安装新版本(1.1)。

但是我不想丢失1.0(旧版本)创建的应用程序数据。

谁能建议一个更好的解决方案?

遗憾的是,目前还没有更好的解决方案。

引用Android开发者的官方文档,

一般来说,对所有开发人员推荐的策略是签名在您的申请中使用相同的证书,整个应用程序的预期寿命。有几个原因你应该这样做:

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

因此,按照文档的建议,您应该创建一个具有最大有效性的密钥,并在将来使用它对应用程序进行签名。

确定签名策略的另一个重要考虑因素如何设置用于签名的密钥的有效期您的应用程序。

  • 如果您计划支持单个应用程序的升级,则应确保您的密钥的有效期超过该应用程序的预期寿命。有效期为25年建议更多。当您的密钥的有效期到期时,用户将无法再无缝升级到新版本的应用程序。

  • 如果您将使用相同的密钥对多个不同的应用程序签名,则应确保密钥的有效期超过预期所有应用程序的所有版本的生命周期,包括

  • 如果你计划在Google Play上发布你的应用程序,你用来签署应用程序的密钥必须有一个有效期结束2033年10月22日以后。Google Play执行这一要求是为了确保当新版本出现时,用户可以无缝地升级应用程序可用。

所以最后,你必须卸载旧版本并安装新版本,该版本使用新证书签名。

您可以向您的证书颁发机构(CA)更新您的旧证书,这样您就不会遇到此冲突。

最新更新