我想在 Playstore 上上传我的应用程序。我已经发布了另一个应用程序。我是否有必要使用与我的第一个应用程序相同的密钥库,以便使用相同的包名称,或者我可以使用另一个密钥库吗?事实上,我尝试了一个新的密钥库,但我仍然停留在应用程序的价格和可用性(错误)
3 回答
您可以为不同的应用程序使用不同的密钥库。但要更新现有应用程序,您必须使用相同的密钥库。有关发布的详细信息,请参阅此处的文档
一般来说,向所有开发人员推荐的策略是在应用程序的整个预期生命周期内使用相同的证书对所有应用程序进行签名。您应该这样做有几个原因:
应用程序升级– 当您发布应用程序更新时,如果您希望用户能够无缝升级到新版本,则必须继续使用相同的证书或一组证书对更新进行签名。当系统安装应用程序更新时,它会将新版本中的证书与现有版本中的证书进行比较。如果证书完全匹配,包括证书数据和顺序,则系统允许更新。如果您在不使用匹配证书的情况下签署新版本,您还必须为应用程序分配一个不同的包名称——在这种情况下,用户将新版本安装为一个全新的应用程序。
应用程序模块化——Android 系统允许由相同证书签名的应用程序在同一进程中运行,如果应用程序请求,则系统将它们视为单个应用程序。通过这种方式,您可以将应用程序部署在模块中,并且用户可以根据需要独立更新每个模块。
通过权限共享代码/数据——Android 系统提供基于签名的权限强制执行,以便应用程序可以向使用指定证书签名的另一个应用程序公开功能。通过使用相同的证书签署多个应用程序并使用基于签名的权限检查,您的应用程序可以以安全的方式共享代码和数据。
有关更多信息,请参阅签署您的应用程序
您必须使用相同的密钥库,因为如果您使用另一个密钥库(例如下载次数等),所有信息都将丢失。
同样对于现有的应用程序,如果您使用另一个密钥库上传相同的应用程序,那么它会因为具有相同的包名称而出错。
尝试使用相同的密钥库并更改应用程序的版本。这将对你有益。