使用上传密钥对旧版Android应用进行签名

时间:2018-09-05 13:15:25

标签: android google-play android-signing

我的Google开发者帐户中现在拥有5个不同的应用程序,其中4个是在发布新的Google App签名之前创建的,并且所有4个共享相同的证书。当我创建最后一个应用程序时,我按照步骤创建了一个新密钥,并且现在有了一个新密钥,该密钥与其他应用程序“独立”工作,并具有自己的发布密钥。

我想知道我是否可以使用最近用来为其他应用程序签名最后一个应用程序的 release-key.jks

如果可以的话,我应该选择上载Google Play控制台的“应用签名”页面中的三个选项吗?

  1. “您已经导出了应用签名键”
  2. “您尚未导出应用签名键”
  3. “您没有将应用程序签名密钥存储在Java Keystore中”

我在这里迷路了,我不想因为将来无法发布更多更新而弄乱事情。

预先感谢!

1 个答案:

答案 0 :(得分:1)

您应该使用首次签名时使用的相同密钥 根据{{​​3}}

  

您应该在整个过程中使用相同的证书对所有APK进行签名   应用程序的预期寿命。您为何有几个原因   应该这样做:

     

应用程序升级:系统正在为应用程序安装更新时,   将新版本中的证书与   现有版本。如果证书有效,系统允许更新   比赛。如果您使用其他证书签署新版本,则您   必须为应用分配一个不同的包名称-在这种情况下,用户   将新版本安装为全新的应用程序。应用程序模块化:   Android允许使用同一证书签名的APK在同一证书上运行   流程,如果应用程序有此要求,则系统会将其视为   单个应用。通过这种方式,您可以在模块中部署应用程序,并且用户可以   可以独立更新每个模块。代码/数据共享   通过权限:Android提供基于签名的权限   强制执行,以便一个应用程序可以向其他应用程序公开功能   使用指定证书签名的证书。通过签署多个APK   具有相同证书并使用基于签名的权限   检查后,您的应用可以安全地共享代码和数据。如果你   计划支持应用程序升级,请确保您的应用程序签名密钥   的有效期超过了该应用程序的预期寿命。   建议有效期为25年或更长时间。当你的钥匙   有效期到期后,用户将不再能够无缝连接   升级到您的应用程序的新版本。

     

如果您打算在Google Play上发布您的应用,请使用   签署这些APK的有效期必须在10月22日之后结束   2033年。GooglePlay强制执行此要求,以确保用户可以在新版本可用时无缝升级应用程序。如果您使用   Google Play应用签名,Google确保您的应用已正确签名   并能够在他们的整个生命周期中收到更新。