2

您可以使用一个 my-release-key.keystore 来签署不同的应用程序,还是需要为每个应用程序使用不同的 my-release-key.keystore?

4

2 回答 2

5

这是直接从 Android 文档中提取的 - 粗体显示了重要的部分。

应用程序签名的某些方面可能会影响您处理应用程序开发的方式,尤其是在您计划发布多个应用程序时。

一般来说,向所有开发人员推荐的策略是在应用程序的预期生命周期内使用相同的证书对所有应用程序进行签名。您应该这样做有几个原因:

  • 应用程序升级 - 当您发布应用程序更新时,如果您希望用户无缝升级到新版本,您将希望继续使用相同的证书或证书集对更新进行签名。当系统安装应用程序更新时,它会将新版本中的证书与现有版本中的证书进行比较。如果证书完全匹配,包括证书数据和顺序,则系统允许更新。如果您在不使用匹配证书的情况下签署新版本,您还需要为应用程序分配一个不同的包名称——在这种情况下,用户将新版本安装为一个全新的应用程序。
  • 应用程序模块化——如果应用程序请求,Android 系统允许由相同证书签名的应用程序在同一进程中运行,以便系统将它们视为单个应用程序。通过这种方式,您可以将应用程序部署在模块中,并且用户可以根据需要独立更新每个模块。
  • 通过权限共享代码/数据——Android 系统提供基于签名的权限强制执行,以便应用程序可以向使用指定证书签名的另一个应用程序公开功能。通过使用相同的证书签署多个应用程序并使用基于签名的权限检查,您的应用程序可以以安全的方式共享代码和数据。

文档

于 2012-12-04T09:52:57.327 回答
1

你只需要一把钥匙。

在此处阅读有关它的更多信息Android App Signing

于 2012-12-04T09:53:32.597 回答