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

时间:2011-11-23 10:14:00

标签: android google-play signing

我构建两个应用程序第一个应用程序com.pakname.pak1,第二个用com.pakname.pak2包名称,然后我得到一个密钥mykey.keystore。

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

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

有人可以解释我这种情况

由于

2 个答案:

答案 0 :(得分:15)

阅读本文

签署策略

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

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

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

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

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

答案 1 :(得分:0)

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