Firebase Google登录无效(Android) [英] Firebase Google Sign-In will not work (Android)

查看:296
本文介绍了Firebase Google登录无效(Android)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我最初尝试将Firebase身份验证Google登录添加到我的应用程序。如果没有成功,我决定试试Firebase的官方Quickstart应用程序。我下载了它,将其导入到Android Studio中,并按照他们的指示操作。它仍然无法正常工作。



我会点击登录按钮,会出现一个对话框选择我的个人资料,然后什么也没有。调试,我发现 onActivityResult result.isSuccess()方法返回false,我不知道从哪里去。



经常提供的解决方案清单:


  • 我已经将Firebase JSON文件添加到快速入门应用(在创建一个新项目之后)


  • 我已经提供了SHA-1代码


  • Firebase身份验证/ Google Repo /所有内容都是最新版本

  • 我已经打开Firebase控制台中的启用Google登录切换按钮设备详情:


    • Android设备:Samsung-SM-G530A


    • Android操作系统版本:5.1.1

    • p> Google Play服务版本:10.2.0 Firebase / Play服务SDK版本:10.2.0


    我的代码是他们的,我没有修改任何东西。找到此处


    $ b $编辑:所以,我得到了他们的快速启动工作。我认为这是我的SHA-1代码在firebase上的一个问题。现在,虽然我在应用程序中遇到新问题,但每次调用FirebaseAuth时都会收到如下错误:

    $ p $ error:无法访问zzbql
    class文件com.google.android.gms.internal.zzbql未找到

     错误:任务':app:compileFacebookDebugJavaWithJavac'的执行失败。 
    >编译失败详细信息请参阅编译器错误输出。编辑2:好吧,现在一切都搞砸了!在任何XML /布局文件我看,有没有实例化类的各种错误。

      java.lang.NoSuchFieldError的:在android.support.v7.widget.AppCompatTextHelper.loadFromAttributes AppCompatTextHelper 
    (AppCompatTextHelper。 java:58)
    at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:40)
    at android.support.v7.widget.AppCompatButton。< init>(AppCompatButton.java :72)LT
    。在android.support.v7.widget.AppCompatButton&; INIT>(AppCompatButton.java:62)
    。在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
    。在。 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor。的java:423)$在org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:465 b $ b)
    。在org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:172)
    A吨org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:150)
    。在com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
    。在机器人.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
    在android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
    在android.view.LayoutInflater.onCreateView(LayoutInflater.java:717 )
    处的android.view.LayoutInflater android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
    android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
    。在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
    android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)

    在android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    在android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    在android.view.LayoutInflater.rInflate在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    android.view.LayoutInflater.rInflate(LayoutInflater.java:834)

    android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java :70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view。 LayoutInflater.rInflate_Original(LayoutInflater.java:861)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
    at android.view.LayoutInflat er.inflate(LayoutInflater.java:397)
    处com.android.layoutlib.bridge.Bridge com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324)
    。 createSession(Bridge.java:429)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
    at com.android.tools.idea.rendering.RenderTask $ 2 .compute(RenderTask.java:548)
    at com.android.tools.idea.rendering.RenderTask $ 2.compute(RenderTask.java:533)
    at com.intellij.openapi.application.impl。 ApplicationImpl.runReadAction(ApplicationImpl.java:966)
    处com.android.tools.idea.rendering com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)
    。 RenderTask.lambda $ $膨胀70(RenderTask.java:659)
    。在java.util.concurrent.FutureTask.run(FutureTask.java:266)
    。在java.util.concurrent.ThreadPoolExecutor.runWorker(的ThreadPoolExecutor .java:1142)
    在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)


    解决方案

      mGoogleApiClient =新GoogleApiClient.Builder(本)
    .enableAutoManage(这个/ * FragmentActivity /,这个/ OnConnectionFailedListener * /)
    .addApi(Auth.GOOGLE_SIGN_IN_API ,gso)
    .build();

    添加 mGoogleApiClient.connect(); at上面的代码行结束。


    So I was originally trying to add Firebase Authentication Google Sign-in to my app. When that didn't work out, I decided to just try Firebase's official Quickstart app. I downloaded it, imported it into Android Studio and followed all their directions. It still won't work.

    What happens is I'll click the "Sign in" button, a dialog will come up where I select my profile, and then just nothing. Debugging, I've found that the onActivityResult result.isSuccess() method returns false, and I don't know where to go from here.

    Checklist of frequently offered solutions:

    • I have added the Firebase JSON file to the quickstart app (after creating a new project)

    • I have provided the SHA-1 code

    • Firebase Auth/Google Repo/Everything is the latest version

    • I have hit the "enable google sign in" toggle button in the Firebase console

    Device details:

    • Android device: Samsung-SM-G530A

    • Android OS version: 5.1.1

    • Google Play Services version: 10.2.0

    • Firebase/Play Services SDK version: 10.2.0

    My code is theirs, I haven't modified anything. Found here.

    Edit: So, I got their quickstart working. I think it was a problem with my SHA-1 code on firebase. Now though I have a new problem in my app...whenever I call FirebaseAuth I get an error like this:

    error:cannot access zzbql
    class file for com.google.android.gms.internal.zzbql not found
    

    and

    Error:Execution failed for task ':app:compileFacebookDebugJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.
    

    Edit 2: OK so now everything's screwed up! On any xml/layout file I look at there are all sorts of errors about classes not being instantiated.

    java.lang.NoSuchFieldError: AppCompatTextHelper
    at android.support.v7.widget.AppCompatTextHelper.loadFromAttributes(AppCompatTextHelper.java:58)
    at android.support.v7.widget.AppCompatTextHelperV17.loadFromAttributes(AppCompatTextHelperV17.java:40)
    at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:72)
    at android.support.v7.widget.AppCompatButton.<init>(AppCompatButton.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:465)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:172)
    at org.jetbrains.android.uipreview.ViewLoader.loadClass(ViewLoader.java:150)
    at com.android.tools.idea.rendering.LayoutlibCallbackImpl.loadClass(LayoutlibCallbackImpl.java:193)
    at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:333)
    at android.view.BridgeInflater.onCreateView(BridgeInflater.java:152)
    at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
    at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:222)
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:858)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:861)
    at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:70)
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:834)
    at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:324)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:389)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:548)
    at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:533)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
    at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:533)
    at com.android.tools.idea.rendering.RenderTask.lambda$inflate$70(RenderTask.java:659)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
    

    解决方案

     mGoogleApiClient = new GoogleApiClient.Builder(this) 
    .enableAutoManage(this /* FragmentActivity /, this / OnConnectionFailedListener*/)
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
    .build();
    

    Add mGoogleApiClient.connect(); at the end of above line of code.

    这篇关于Firebase Google登录无效(Android)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆