无法创建Android OAuth2客户端ID(重复指纹)

时间:2016-03-14 06:22:40

标签: android google-app-engine google-oauth google-cloud-endpoints google-cloud-platform

在Google Cloud Platform开发者控制台中为Android创建客户端ID时,我会看到以下弹出窗口:

  

重复指纹

     

您指定的指纹已被Android OAuth2使用   此项目或其他项目中的客户端ID

正如弹出窗口所述,我确实有另一个具有相同SHA-1指纹的项目。我不明白为什么我不能在多个项目中使用相同的SHA-1指纹(签名证书)?

如果您为多个Android应用程序使用相同的调试或发布签名证书,则会产生严重影响。这对于调试证书来说并不是一个大问题,因为您总是可以创建一个新版本,但是如果您已经使用相同的版本证书签署多个生产Android应用程序,那么您是否可以为每个应用程序创建单独的Google Cloud项目?

这是一个错误,还是你真的不能为多个Google Cloud项目使用相同的Android签名证书?

始终为每个Android应用使用新的发布签名证书是最佳做法吗?

2 个答案:

答案 0 :(得分:1)

首先我们需要一个独特的证书和包名称。 前段时间我们决定您不应该在Android应用程序中指定clientID(为了简化开发并减轻某些问题,例如,如果他们没有证书,即使有人不能申请/使用您的客户ID他们可以拥有相同的包名称)。我们可以根据包名和cert哈希查找clientID。这要求组合是独特的。那有意义吗?要明确的是,您可以使用相同的证书以及应用程序的不同包名称,并且可以使用相同的证书。

  

始终使用新的发布签名证书是最佳做法   对于每个Android应用程序?

我认为有利有弊。如果您想要销售/更改所有权的应用程序(在您拥有的许多应用程序中),使用单独的证书会更容易。您还需要考虑妥协或丢失证书。 相同的证书确实使发布过程更容易,并声称它们来自同一个实体。

答案 1 :(得分:0)

只需使用其他程序包名称创建一个新项目