2016-07-02 8 views
4

인증을 새로운 FirebaseUI과 함께 사용하려고합니다. 내가 로그 캣에서 다음과 같은 오류를 받고 있어요 내가에서 onCreate에 인증 요청을 발로 해요FirebaseUI 인증이 안드로이드에서 충돌하고 있습니다

07-01 22:33:17.170 715-789/com.gmail.rixx.justin.cashcaddy I/OpenGLRenderer: Initialized EGL, version 1.4 
07-01 22:33:17.234 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zzf> 
07-01 22:33:17.235 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zzf> 
07-01 22:33:17.242 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$3> 
07-01 22:33:17.242 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$3> 
07-01 22:33:17.243 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zzf> 
07-01 22:33:17.243 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$4> 
07-01 22:33:17.243 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$4> 
07-01 22:33:17.244 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zzf> 
07-01 22:33:17.244 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$1> 
07-01 22:33:17.245 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$1> 
07-01 22:33:17.245 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zzf> 
07-01 22:33:17.246 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$2> 
07-01 22:33:17.246 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.credentials.internal.zze$2> 
07-01 22:33:17.247 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.signin.internal.zzc$zza> 
07-01 22:33:17.247 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.signin.internal.zzc$zza> 
07-01 22:33:17.248 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.signin.internal.zzc$1> 
07-01 22:33:17.248 715-715/com.gmail.rixx.justin.cashcaddy I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.auth.api.signin.internal.zzc$1> 
07-01 22:33:17.251 715-715/com.gmail.rixx.justin.cashcaddy D/AndroidRuntime: Shutting down VM 
07-01 22:33:17.259 715-715/com.gmail.rixx.justin.cashcaddy E/UncaughtException: java.lang.NoSuchMethodError: No virtual method zztw()Ljava/util/Set; in class Lcom/google/android/gms/common/internal/zzg; or its super classes (declaration of 'com.google.android.gms.common.internal.zzg' appears in /data/app/com.gmail.rixx.justin.cashcaddy-2/base.apk) 
                       at com.google.android.gms.auth.api.signin.internal.zzd.<init>(Unknown Source) 
                       at com.google.android.gms.auth.api.Auth$4.zza(Unknown Source) 
                       at com.google.android.gms.auth.api.Auth$4.zza(Unknown Source) 
                       at com.google.android.gms.common.api.GoogleApiClient$Builder.zza(Unknown Source) 
                       at com.google.android.gms.common.api.GoogleApiClient$Builder.zzaof(Unknown Source) 
                       at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source) 
                       at com.firebase.ui.auth.util.CredentialsAPI.initGoogleApiClient(CredentialsAPI.java:148) 
                       at com.firebase.ui.auth.util.CredentialsAPI.<init>(CredentialsAPI.java:64) 
                       at com.firebase.ui.auth.ui.ChooseAccountActivity.onCreate(ChooseAccountActivity.java:64) 
                       at android.app.Activity.performCreate(Activity.java:6251) 
                       at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                       at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                       at android.os.Handler.dispatchMessage(Handler.java:102) 
                       at android.os.Looper.loop(Looper.java:148) 
                       at android.app.ActivityThread.main(ActivityThread.java:5422) 
                       at java.lang.reflect.Method.invoke(Native Method) 
                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
07-01 22:33:17.261 715-773/com.gmail.rixx.justin.cashcaddy I/FA: Tag Manager is not found and thus will not be used 
07-01 22:33:17.481 715-715/com.gmail.rixx.justin.cashcaddy D/FirebaseCrashApiImpl: throwable java.lang.NoSuchMethodError: No virtual method zztw()Ljava/util/Set; in class Lcom/google/android/gms/common/internal/zzg; or its super classes (declaration of 'com.google.android.gms.common.internal.zzg' appears in /data/app/com.gmail.rixx.justin.cashcaddy-2/base.apk) 
07-01 22:33:17.517 715-715/com.gmail.rixx.justin.cashcaddy E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.gmail.rixx.justin.cashcaddy, PID: 715 
                     java.lang.NoSuchMethodError: No virtual method zztw()Ljava/util/Set; in class Lcom/google/android/gms/common/internal/zzg; or its super classes (declaration of 'com.google.android.gms.common.internal.zzg' appears in /data/app/com.gmail.rixx.justin.cashcaddy-2/base.apk) 
                      at com.google.android.gms.auth.api.signin.internal.zzd.<init>(Unknown Source) 
                      at com.google.android.gms.auth.api.Auth$4.zza(Unknown Source) 
                      at com.google.android.gms.auth.api.Auth$4.zza(Unknown Source) 
                      at com.google.android.gms.common.api.GoogleApiClient$Builder.zza(Unknown Source) 
                      at com.google.android.gms.common.api.GoogleApiClient$Builder.zzaof(Unknown Source) 
                      at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source) 
                      at com.firebase.ui.auth.util.CredentialsAPI.initGoogleApiClient(CredentialsAPI.java:148) 
                      at com.firebase.ui.auth.util.CredentialsAPI.<init>(CredentialsAPI.java:64) 
                      at com.firebase.ui.auth.ui.ChooseAccountActivity.onCreate(ChooseAccountActivity.java:64) 
                      at android.app.Activity.performCreate(Activity.java:6251) 
                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:148) 
                      at android.app.ActivityThread.main(ActivityThread.java:5422) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

:

FirebaseAuth auth = FirebaseAuth.getInstance(); 
    if (auth.getCurrentUser() != null) { 
     // already signed in 
     Toast.makeText(this, "Signed in!", Toast.LENGTH_LONG).show(); 
    } else { 
     startActivityForResult(
       // Get an instance of AuthUI based on the default app 
       AuthUI.getInstance().createSignInIntentBuilder().build(), 
       RC_SIGN_IN); 
     Toast.makeText(this, "Not signed in", Toast.LENGTH_LONG).show(); 
    } 

및하여 onActivityResult에 결과를 받아들이

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if (requestCode == RC_SIGN_IN) { 
     if (resultCode == RESULT_OK) { 
      // user is signed in 
      Toast.makeText(this, "Signed in!", Toast.LENGTH_LONG).show(); 
     } else { 
      // user is not signed in. Maybe just wait for the user to press 
      // "sign in" again, or show a message 
      Toast.makeText(this, "Not signed in!", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

나는 생각 제대로 설정 했어. google-services.json을 다운로드하고 app/ 디렉토리에 위치 시켰습니다. 앱을 열 때 여기 내 프로젝트 build.gradle

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.1.2' 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

와 충돌 잘 일어나고

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.gmail.rixx.justin.cashcaddy" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:23.4.0' 
    compile 'com.android.support:design:23.4.0' 
    compile 'com.google.firebase:firebase-core:9.2.0' 
    compile 'com.google.firebase:firebase-database:9.2.0' 
    compile 'com.google.firebase:firebase-auth:9.2.0' 
    compile 'com.google.firebase:firebase-crash:9.2.0' 
    compile 'com.firebaseui:firebase-ui:0.4.1' 
} 

apply plugin: 'com.google.gms.google-services' 

내 응용 프로그램의 Gradle을 파일, 난 내 구성 중 하나와 좀 작은 일이 가정합니다.

감사합니다.

+0

콘솔의 Firebase 프로젝트에서 로그인 방법을 활성화 했습니까? –

+0

예. 이메일과 비밀번호를 성공적으로 사용하는 작업 웹 앱이 있습니다. – justinrixx

+0

app.gradle을 공유 할 수 있습니까? –

답변

4

나는이 동일한 문제가있었습니다. 겉으로보기에는 하나의 빌드에서 이상하게 생긴 빌드로 발생했습니다.

오류 메시지가 고정 무엇을 누락 GMS 물건에 대해 불평 때문에 내 종속성 다음 추가 된 경우 :

compile 'com.google.android.gms:play-services-auth:9.2.0' 

나는이 이미 중포 기지 인증 라이브러리의 의존성 있어야한다고 생각, 그래서 ' 그것이 일종의 버그라고 추측하는 m.

+1

굉장! 이것은 나를 위해 작동합니다! Google 서비스 버전을 혼합하는 데 대한 종속성을 추가 할 때 오류가 발생했지만 gradle 빌드를 수행하면 오류가 발생했습니다. – justinrixx

1

Android 용 Firebase UI 버전 0.4.2이 방금 출시되었으며이 문제를 해결하기 위해 필요한 기본 변경 사항이 포함되어 있습니다.