【问题标题】:What all am I supposed to use the keystore for regarding apps?我应该将密钥库用于哪些应用程序?
【发布时间】:2017-06-13 04:20:55
【问题描述】:

在 Android 中,要创建应用程序的发布版本,您需要制作签名的 APK,这需要一个密钥库文件,该文件以某种方式证明该文件是您的。

您是否只是无限期地将此密钥库用于您的所有应用程序?或者您是否需要为每个应用程序创建一个新的密钥库?每种口味?目的/正确用法是什么?

【问题讨论】:

标签: android authentication google-play-services keystore


【解决方案1】:

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

同样基于此documentation,您应该在应用的预期生命周期内使用相同的证书对所有 APK 进行签名。您应该这样做有几个原因:

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

其他参考资料:

【讨论】:

    猜你喜欢
    • 2017-07-13
    • 2017-05-30
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-07
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    相关资源
    最近更新 更多