我一直在将谷歌登录集成到一个应用程序中,如中所述https://developers.google.com/identity/sign-in/android/start-integrating.使用https://developers.google.com/identity/sign-in/android/sign-in?configured作为一个模型,我可以正确地使用调试密钥库进行登录。
当我合并了pull请求,并试图为发布版本的新密钥库切换配置时,登录过程开始莫名其妙地失败。经过一番挖掘,我在安卓系统的新谷歌登录中发现了同样的错误。
Status{statusCode=unknown status code: 12501, resolution=null}
这些帖子让我相信,也许我把密钥配置错了。但是,在多次仔细检查并创建新的密钥库和配置文件后,错误仍在继续。我还手动检查了RSA1中对我的发行版APK进行签名的密钥库。它是在谷歌注册的。最后,我注意到日志中有一些错误
W/SurfaceFlinger﹕ couldn't log to binary event log: overflow.
W/AccountChipsFragment﹕ Recording consent failed.
V/GLSActivity﹕ AuthDelegateWrapperCreated with selected intent: Intent { cmp=com.google.android.gms/.auth.DefaultAuthDelegateService }
V/GLSActivity﹕ AuthDelegateWrapperCreated with selected intent: Intent { cmp=com.google.android.gms/.auth.DefaultAuthDelegateService }
D/ConnectivityService﹕ updateNetworkScore for NetworkAgentInfo [WIFI () - 106] to 59
D/ConnectivityService﹕ rematching NetworkAgentInfo [WIFI () - 106]
V/BaseAuthAsyncOperation﹕ access token request failed
事实证明,我链接的答案中的建议是正确的。问题是,我用来将服务器客户端ID注入到构建中的方法可以进行调试,但打字错误导致它在发布构建中失败,所以我的服务器客户端ID实际上为null。