为一家公司与不同的提供商签署Android APP

时间:2018-08-13 06:30:14

标签: android google-play apk sign android-keystore

我们公司目前在Google Play商店中有几种由不同软件提供商开发的Android应用程序。

在这种情况下最好的方法是什么? 有一个用于我们公司所有APP的密钥库吗? 每个提供商都有一个密钥库?对于每个APP?

每种方法的主要优点和缺点是什么?

谢谢。

3 个答案:

答案 0 :(得分:1)

在我看来,在这种情况下,为每个提供商提供一个密钥库将是更好的方法。毕竟,它正在签名,而不是使用一个密钥库对所有应用程序进行签名,多个标志会更好。但是,如果您的公司有200个具有100个不同提供程序的应用程序,那么拥有不同密钥是不明智的。这与您的规模和选择有关。但是,我认为两种方法之间不会有太大区别。

答案 1 :(得分:0)

您可以针对不同的应用程序版本和应用程序使用风味。

答案 2 :(得分:0)

  • 我强烈建议为每个应用程序使用不同的证书。
  • 我也强烈建议您使用Google Play App Signing,而不要亲自对应用程序进行签名。

第一种情况的好处是将来的商业灵活性。应用程序开发人员通常希望将其应用程序出售给另一家公司,将部门拆分给另一家公司,或者单独负责应用程序签名密钥,以使他们不会出现单点故障。如果您只有一个键,则:

  • 如果您将应用程序出售给另一家公司,则必须给他们提供签名密钥,这样他们就可以对您的任何应用程序进行签名,从而产生伪造的版本
  • 如果您想分拆除法,也会发生同样的问题
  • 如果您希望一个团队能够签署自己的应用进行测试,那么他们可以为公司签署任何应用。

拥有单独的密钥可以解决所有这些问题。

如果您想知道为什么应该使用Google Play应用程序签名,则应在StackOverflow上搜索诸如“帮助我丢失了签名密钥/密码/计算机被盗,该怎么办?”之类的问题。它们有数百个,甚至最大的一些开发商都遇到了问题。如果您使用Google Play应用签名,那么Google Play将确保您的密钥安全,如果您丢失了Google Play支持,则可以为您提供帮助。

要评论引用the Android Studio page的答案,他们会误解。这就是每个应用程序具有一个签名密钥,而不是跨应用程序。

出于某些原因,对于多个应用程序使用相同的签名密钥。在Android系统上,这使应用程序具有在RPC等内容上以某种方式相互信任的功能,但是很少需要这种功能。