使用上传密钥签署旧版Android应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用上传密钥签署旧版Android应用相关的知识,希望对你有一定的参考价值。

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

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

另外,如果可以,Google Play控制台的应用签名页面提供给我的三个选项中的哪一个应该选择上传?

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

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

先谢谢!

答案

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

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

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

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

以上是关于使用上传密钥签署旧版Android应用的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google Play 上传密钥签署 APK

如何使用 gradle 使用平台密钥签署 android 应用程序?

如何使用 Google 签名密钥签署 apk 以上传到其他应用商店

Android 签名密钥库

加固后,上传play store, 在 google play store 下载应用安装后,打开签名校验失败

播放应用签名以进一步上传 Alpha 大头钉