使用相同的密钥签署两个应用程序

我构建了两个应用程序第一个应用程序com.pakname.pak1和第二个用com.pakname.pak2包名称,然后我有一个键mykey.keystore。

如果我使用相同的密钥签署这两个应用程序并将它们发布到Android市场会发生什么?

这是个好习惯吗? 我想不是,但我没有得到用不同密钥从同一家公司签署应用程序的重点。

谁能解释我这种情况

谢谢

读这个

签署策略

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

通常,所有开发人员的建议策略是在应用程序的预期生命周期内使用相同的证书对所有应用程序进行签名。 您应该这样做有几个原因:

  • 应用程序升级 – 在您发布应用程序更新时,如果希望用户无缝升级到新版本,则需要使用相同的证书或证书集继续对更新进行签名。 当系统正在为应用程序安装更新时,它会将新版本中的证书与现有版本中的证书进行比较。 如果证书完全匹配,包括证书数据和订单,则系统允许更新。 如果在不使用匹配证书的情况下签署新版本,则还需要为应用程序分配不同的包名称 – 在这种情况下,用户将新版本安装为全新的应用程序。

  • 应用程序模块化 – 如果应用程序请求,Android系统允许由同一证书签名的应用程序在同一进程中运行,以便系统将它们视为单个应用程序。 通过这种方式,您可以在模块中部署应用程序,用户可以根据需要独立更新每个模块。

  • 通过权限共享代码/数据。 Android系统提供基于签名的权限实施,以便应用程序可以将function公开给使用指定证书签名的另一个应用程序。 通过使用相同证书对多个应用程序进行签名并使用基于签名的权限检查,您的应用程序可以以安全的方式共享代码和数据。

在市场上,真正重要的是包名和版本控制。 如果您尝试为同一个应用程序上传两个不同的软件包名称,您将陷入一个充满痛苦的灰色区域:(第二个,如果您尝试上传两次相同的应用程序忘记更新版本,市场将拒绝您的上传你必须重建你的应用程序更改版本。最后,我使用相同的密钥库和相同的签名,我的应用程序没有问题:)