我在Android应用中使用Firebase身份验证。最近,我格式化了PC并安装了Ubuntu 18.04 LTS(在安装该格式之前已安装Ubuntu 16),并且在安装Android Studio并尝试了该应用后,Google登录无法正常工作,其中有ApiException
在这两行上抛出:
GoogleSignInAccount account = task.getResult(ApiException.class);
firebaseAuthWithGoogle(account);
堆栈跟踪:
com.google.android.gms.common.api.ApiException: 10:
at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
at com.google.android.gms.auth.api.signin.GoogleSignIn.getSignedInAccountFromIntent(Unknown Source)
at com.game.ameer.ta7adialma3rifa.fragments.login.LoginFragment.onActivityResult(LoginFragment.java:220)
at android.support.v4.app.FragmentActivity.onActivityResult(FragmentActivity.java:151)
at com.game.ameer.ta7adialma3rifa.activities.LoginActivity.onActivityResult(LoginActivity.java:38)
at android.app.Activity.dispatchActivityResult(Activity.java:7303)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4516)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4563)
at android.app.ActivityThread.-wrap22(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1698)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6776)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1518)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
在格式化PC之前没有发生这种情况,我相信问题不在于代码,而在于具有某种令牌或证书的Firebase配置。 是什么原因引起的?以及如何解决?
答案 0 :(得分:0)
最可能是因为添加到Firebase项目中的调试SHA-1签名证书在格式之后已更改。您可能需要在Firebase Console上为您的应用更新密钥。 API keys上已连接项目的Google Cloud Console也是如此。
要获取新的SHA-1密钥,请在任何终端上(在Linux / macOS上)使用以下命令:
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android
有关更多详细信息,请参见here