Android studio Android Firebase验证Google失败代码=10仅在手机上
我一直在为android制作一个应用程序,并在直接使用模拟器和手机时测试google登录是否正常。但是,当我“生成签名包/apk”并在同一部手机或任何其他手机上安装该应用程序时,我会出现以下错误:Android studio Android Firebase验证Google失败代码=10仅在手机上,android-studio,firebase-authentication,Android Studio,Firebase Authentication,我一直在为android制作一个应用程序,并在直接使用模拟器和手机时测试google登录是否正常。但是,当我“生成签名包/apk”并在同一部手机或任何其他手机上安装该应用程序时,我会出现以下错误: D/~google~: signInResult:failed code=10 这种情况发生在以下方法中: private void handleSignInResult(Task<GoogleSignInAccount> completedTask) { try {
D/~google~: signInResult:failed code=10
这种情况发生在以下方法中:
private void handleSignInResult(Task<GoogleSignInAccount> completedTask) {
try {
GoogleSignInAccount account = completedTask.getResult(ApiException.class);
// Signed in successfully, show authenticated UI.
Log.d("~google~","successful google login");
isLoginSuccessful = true;
firebaseAuthWithGoogle(account.getIdToken());
} catch (ApiException e) {
// The ApiException status code indicates the detailed failure reason.
// Please refer to the GoogleSignInStatusCodes class reference for more information.
Log.d("~google~", "signInResult:failed code=" + e.getStatusCode());
}
}
private void handleSignInResult(任务完成任务){
试一试{
GoogleSignInAccount account=completedTask.getResult(ApiException.class);
//成功登录,显示已验证的UI。
Log.d(“~google~”,“谷歌登录成功”);
IsLoginSucessful=true;
firebaseAuthWithGoogle(account.getIdToken());
}捕获(APIE){
//ApiException状态代码表示详细的故障原因。
//有关更多信息,请参阅GoogleSignInstationCodes类参考。
Log.d(“~google~”,“signInResult:failed code=“+e.getStatusCode());
}
}
我一直在寻找这个答案,但我没有找到一个一致的解决方案,具体到我观察到的行为。我不想回答我自己的问题,但因为我找不到解决我问题的完整解决方案,我想试着分享对我有用的东西 首先,我一直看到很多答案表明缺少SHA1或SHA1密钥不匹配,但对于那些不知道(至少截至目前为止)的人来说,这就是安全哈希算法。它基本上是一长串十六进制代码,即
FF:AC:00:33:22:03:…
等
开发时会生成两个不同的SHA1键:一个用于“调试”,另一个用于“发布”。通过生成签名的apk,我可以找到我的SHA1:Build>Generate signed apk
选择APK,然后选择下一步
如果您以前这样做过,那么您应该已经拥有密钥存储路径、密钥存储密码、密钥别名和密钥密码。如果不确定是否创建它们,请单击下一步
注意:复制密钥存储路径和别名,并将其临时粘贴到某个位置。记住你的密码
现在选择释放
然后,在终端,我对版本SHA1运行以下命令:
keytool-list-v-keystore-alias密钥别名
注意:您可能需要输入密码
现在,您可以进入firebase验证,方法是转到应用程序,单击设置(齿轮图标)并转到项目设置。滚动到“常规”选项卡的底部,单击“添加指纹”并将SHA1键粘贴到中,添加释放SHA1键
我真的希望这对将来的人有所帮助
注意:我使用的是Android Studio版本4.1.3
您是否在Firebase中输入了SHA-1指纹?是的,一旦输入,我就能够在模拟器上验证登录。我想这可能包含了你的答案。这是否回答了你的问题?它看起来像是谷歌控制台和android studio之间的SHA1匹配,但它确实显示了“调试”。