什么我应该使用密钥存储关于应用程序?

问题描述:

在Android中,为了创建应用程序的发行版本,您需要制作签名的APK,这需要一个密钥库文件,该文件以某种方式证明该文件是您的。什么我应该使用密钥存储关于应用程序?

你是否只是无限期地使用这个密钥库来存储所有的应用程序?或者你需要为每个应用程序提供一个新的密钥存储?每一种味道?什么是目的/正确的用法?

+1

每个应用程序都需要独特的密钥库。 https://*.com/questions/9691478/1-keystore-to-sign-all-apps-or-1-per-app – PSK

thread所述,您可以对任意数量的应用程序使用相同的密钥库。

也基于此documentation,您应该在应用程序的预期使用期限内为您的所有APK签署相同的证书。有几个原因,你应该这样做:

  • 应用升级:当系统安装更新到一个应用程序,它在新版本中与那些在现有版本的证书(或多个)进行比较。如果证书匹配,系统允许更新。如果您使用不同的证书签署新版本,则必须为应用程序指定一个不同的软件包名称 - 在这种情况下,用户将新版本安装为一个全新的应用程序。
  • 应用程序模块化: Android允许由同一证书签名的APK在同一进程中运行(如果应用程序提出请求),以便系统将它们视为单个应用程序。通过这种方式,您可以将应用程序部署到模块中,用户可以独立更新每个模块。
  • 通过权限进行代码/数据共享: Android提供基于签名的权限强制执行,以便应用程序可以向另一个使用指定证书签名的应用程序公开功能。通过使用相同证书签署多个APK并使用基于签名的权限检查,您的应用可以以安全的方式共享代码和数据。

其他参考: