Google登录突然无法正常工作

时间:2017-11-16 20:30:59

标签: java android android-studio google-play-services google-signin

我正在开发一款使用Google登录的Android应用。

直到最近,一切都运转良好。我在这个项目上停止工作了大约两个星期,并且昨天又回到了它,谷歌登录突然不再起作用了。当我点击登录时,会打开登录弹出窗口,我选择我的帐户并且......没有任何反应。

因为我没有更改与登录相关的代码中的任何内容,所以我开始在其他地方搜索。

首先我注意到我的compile 'com.google.android.gms:play-services-auth:11.4.2'可以更新为11.6.0,所以这就是我所做的。

我再次运行应用程序,它现在要求我更新Google Play服务,所以我点击了更新按钮但是再一次没有发生任何事情。我尝试了多次,但没有改变任何东西。所以我开始寻找其他地方。

我去了link,在那里我找到了Google登录的代码示例,看看是否有任何变化......是的,它已经改变了,10天前样本已更新,所以我更新了我的代码现在,没有比这更好了,只是当我点击登录时,现在没有出现登录弹出窗口。

所以我开始更深入地研究日志,以下是有问题的行: W/GooglePlayServicesUtil: Google Play services out of date. Requires 11717000 but found 11577470 W/FA: Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} W/LoginActivity: signInResult:failed code=12500

显然,它应该与Google Play服务有关...请注意,我不再获得“更新Google Play服务”弹出窗口。 我发现有关此类问题的大多数答案建议尝试使用较低API的其他模拟器,或降级Google Play服务编译行,因此我尝试了两者。 我曾经在带有API 27的Pixel XL上运行我的测试,我尝试使用带有API 25的Nexus 6P,在这个我可以进入登录弹出窗口,但是当我选择我的帐户时,我得到了 W/LoginActivity: signInResult:failed code=10. 我还尝试了两个真正的设备,即带有API 25的OnePlus 3和带有API 24的三星Galaxy S6 Edge,我在这两个设备上得到的错误与Nexus 6P相同。此外,我没有找到任何关于错误代码10的含义。 关于Google Play服务降级,如果我这样做,则无法识别新代码示例的某些类别。此外,在尝试使用API​​低于27的设备时,它似乎不再是Google Play服务问题。

更新:我发现错误代码10表示“应用程序配置错误”。我没有看到,因为在找到所有工作的时间和它停止工作的时间之间没有任何变化,无论如何我生成了一个新的debug.keystore,一个新的配置文件并将其添加到我的/ app。显然它仍然不起作用。

更新2:当我尝试了所有可想到的东西时,我知道我的debug.keystore出了问题(我在任何地方都读到如果在构建项目时删除此文件应该重新生成,这对我来说并非如此)。我卸载/重新安装了Android Studio,希望它至少能解决这个问题。好吧,我有很多文件,我不记得.android文件夹,现在我只有1个文件夹和2个文件,显然debug.keystore不是其中之一。所以这让我记住了获得SHA1签名的另一种方式,这就是我在回答帖子中解释的内容。但是我的debug.keystore仍然有问题,所以如果有人有想法......

1 个答案:

答案 0 :(得分:0)

我终于找到了让它发挥作用的方法。这可能不是正确的解决方案,因为仍然存在问题(我将编辑问题来解释原因),但它的工作原理可能会有所帮助。

所以问题来自配置文件,更确切地说是用于生成它的debug.keystore,实际上,我尝试通过运行signingReport in the Gradle panel来生成获取配置文件所需的SHA1签名,而不是运行keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~/.android/debug.keystore命令,现在再次运行。

我仍然不知道这个问题最初是如何出现的,因为我没有改变任何东西......