我们有多个服务器环境(例如开发,登台,发布),每个都在Google Developer Console中作为自己的项目,并且希望能够从我们的Android应用程序登录其中任何一个,以进行测试。
我让Google登录其中一个工作环境(遵循教程here)但是当我尝试启用其他here时,我收到以下错误:
The SHA-1 you specified is already used with the same package name for a different Android OAuth2 client.
似乎我们不允许使用多个项目为相同的包名/签名证书哈希启用Google登录。那么如何为我们的每个服务器环境启用Google登录?有办法解决这个问题吗?
答案 0 :(得分:2)
似乎不可能如上所述;如错误消息所示,您只能为每个签名证书哈希/包名称组合的一个后端项目启用Google登录。我最终做的是为不同的applicationIds
创建多个productFlavors
(http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename)(每个端点一个)。
答案 1 :(得分:2)
在一个开发控制台项目中,您可以添加多个OAuth 2.0客户端,例如
答案 2 :(得分:0)
您有几个选项可以解决此问题。
您可以使用其他证书为不同环境的应用签名,并为每个环境创建不同的项目。
其他选项是为每个环境使用不同的包名称,例如com.mycompany.myapp.dev com.mycompany.myapp.staging和com.mycompany.myapp(用于制作)
您只能拥有一个客户端ID,并且包名称和证书哈希值相同。