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

我先构build了两个应用程序com.pakname.pak1和com.pakname.pak2包名,然后我得到了一个key mykey.keystore。

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

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

有人可以解释我这种情况

谢谢

Solutions Collecting From Web of "使用相同的密钥签署两个应用程序"

读这个

签署策略

应用程序签名的某些方面可能会影响您如何处理应用程序的开发,特别是如果您计划发布多个应用程序。

一般来说,为所有开发人员推荐的策略是在应用程序的预期使用期限内使用相同的证书签署所有应用程序。 你应该这样做有几个原因:

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

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

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

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