在Google Cloud Platform开发者控制台中为Android创建客户端ID时,我会看到以下弹出窗口:
重复指纹
您指定的指纹已被Android OAuth2使用 此项目或其他项目中的客户端ID
正如弹出窗口所述,我确实有另一个具有相同SHA-1指纹的项目。我不明白为什么我不能在多个项目中使用相同的SHA-1指纹(签名证书)?
如果您为多个Android应用程序使用相同的调试或发布签名证书,则会产生严重影响。这对于调试证书来说并不是一个大问题,因为您总是可以创建一个新版本,但是如果您已经使用相同的版本证书签署多个生产Android应用程序,那么您是否可以为每个应用程序创建单独的Google Cloud项目?
这是一个错误,还是你真的不能为多个Google Cloud项目使用相同的Android签名证书?
始终为每个Android应用使用新的发布签名证书是最佳做法吗?
答案 0 :(得分:1)
首先我们需要一个独特的证书和包名称。 前段时间我们决定您不应该在Android应用程序中指定clientID(为了简化开发并减轻某些问题,例如,如果他们没有证书,即使有人不能申请/使用您的客户ID他们可以拥有相同的包名称)。我们可以根据包名和cert哈希查找clientID。这要求组合是独特的。那有意义吗?要明确的是,您可以使用相同的证书以及应用程序的不同包名称,并且可以使用相同的证书。
始终使用新的发布签名证书是最佳做法 对于每个Android应用程序?
我认为有利有弊。如果您想要销售/更改所有权的应用程序(在您拥有的许多应用程序中),使用单独的证书会更容易。您还需要考虑妥协或丢失证书。 相同的证书确实使发布过程更容易,并声称它们来自同一个实体。
答案 1 :(得分:0)
只需使用其他程序包名称创建一个新项目