0

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

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

另外,如果可以的话,我应该选择上传 Google Play 控制台的 App Signing 页面为我提供的三个选项中的哪一个?

  1. “您已导出应用签名密钥”
  2. “您尚未导出应用签名密钥”
  3. “您不会将应用签名密钥存储在 Java 密钥库中”

我在这里有点迷路,我不想因为将来无法发布更多更新而搞砸了。

预先感谢!

4

1 回答 1

1

根据https://developer.android.com/studio/publish/app-signing#considerations ,您应该使用第一次签名时使用的相同密钥

在应用的预期生命周期内,您应该使用相同的证书对所有 APK 进行签名。您应该这样做有几个原因:

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

如果您计划在 Google Play 上发布您的应用,则用于签署这些 APK 的密钥的有效期必须在 2033 年 10 月 22 日之后结束。Google Play 强制执行此要求,以确保用户可以在新版本可用时无缝升级应用。如果您使用 Google Play 应用签名,Google 会确保您的应用已正确签名,并且能够在其整个生命周期内接收更新。

于 2018-09-05T14:19:23.190 回答