我需要为每个新应用程序创建一个新的签名密钥吗?

时间:2019-05-22 08:13:28

标签: android react-native sign

我刚刚完成了我的第二个React Native应用,并将发布其android版本。我应该创建一个新的签名密钥,还是可以使用之前的项目密钥?

4 个答案:

答案 0 :(得分:2)

没有什么可以阻止您对所有应用程序使用一个密钥库,但这不是一个好习惯。

一键操作,对您来说更简单。

使用不同的键,您可以仅将一个应用程序转让给其他人。

答案 1 :(得分:1)

Android developer site说:

  

您应该在整个过程中使用相同的证书对所有应用进行签名   应用程序的预期寿命。有几个原因   为什么要这样做:

     

应用程序升级:系统正在为应用程序安装更新时,   将新版本中的证书与   现有版本。如果证书有效,系统允许更新   比赛。如果您使用其他证书签署新版本,则您   必须为应用程序分配一个不同的包名称-在这种情况下,   用户会将新版本安装为全新的应用程序。

     

应用程序模块化:Android允许使用相同证书签名的应用程序   如果应用程序有此要求,则在同一进程中运行   系统将它们视为单个应用程序。这样您可以部署   您的应用程序包含在模块中,用户可以更新每个模块   独立地。

     

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

对于这些link,还有另一种看法:

  

如果它们完全无关,我建议使用不同的密钥库   应用。如果您最终出售其中一款应用,则可以放弃   相应的密钥库,而不会影响其他密钥库的安全性   应用。

答案 2 :(得分:0)

无需创建新的签名密钥。您可以为每个应用程序使用一个签名密钥。

答案 3 :(得分:0)

我最近听到一个案例,该案例是一家公司将应用程序出售给另一家公司,并且非常高兴地发现其工程师为所有应用程序使用了单独的项目密钥;该公司基本上出售了特定的密钥以及代码和知识产权,而不会影响其余密钥。

不可能为已部署的应用程序切换到新的密钥集,因为它似乎与识别要更新的应用程序有关,从而阻止了第三方的更新;不幸的是,我手边没有链接可以证明这一点。

相关问题