java.lang.NoSuchMethodError: No virtual method zzait()Ljava/util/ArrayList; in class Lcom/ Error?

匿名 (未验证) 提交于 2019-12-03 00:50:01

问题:

Hi I'm learning to use Firebase from an Udacity Course. I got this error when I ran my app and have no clue about it. 11-23 16:48:34.995 3947-3947/com.google.firebase.udacity.friendlychat

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.google.firebase.udacity.friendlychat, PID: 3841 java.lang.NoSuchMethodError: No virtual method zzait()Ljava/util/ArrayList;  in class Lcom/google/android/gms/auth/api/signin/GoogleSignInOptions;  or its super classes (declaration of 'com.google.android.gms.auth.api.signin.GoogleSignInOptions' appears in /data/data/com.google.firebase.udacity.friendlychat/files/.jrebel/load-dexes/bundle12/libraries24.zip) at com.google.android.gms.auth.api.Auth$3.zza(Unknown Source) at com.google.android.gms.auth.api.Auth$3.zzp(Unknown Source)  at com.google.android.gms.common.api.GoogleApiClient$Builder.addApi(Unknown Source)  at com.firebase.ui.auth.util.CredentialsAPI.initGoogleApiClient(CredentialsAPI.java:147)  at com.firebase.ui.auth.util.CredentialsAPI.<init>(CredentialsAPI.java:65) at com.firebase.ui.auth.ui.ChooseAccountActivity.onCreate(ChooseAccountActivity.java:102) at android.app.Activity.performCreate(Activity.java:6100) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)                    at com.zeroturnaround.jrebel.android.agent.JRebelInstrumentation.callActivityOnCreate(SourceFile:93) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) at android.app.ActivityThread.access$800(ActivityThread.java:178) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) at android.os.Handler.dispatchMessage(Handler.java:111) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5637) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372)     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 11-23 16:48:35.176 3947-3975/com.google.firebase.udacity.friendlychatE/GED: Failed to get GED Log Buf, err(0) 

Can anyone help me?

UPDATE build.gradle

apply plugin: 'com.android.application'  repositories {     mavenLocal()     maven { url 'https://maven.fabric.io/public' }     flatDir {         dirs 'libs'     } }  android {     compileSdkVersion 24     buildToolsVersion "24.0.1"      defaultConfig {         applicationId "com.google.firebase.udacity.friendlychat"         minSdkVersion 16         targetSdkVersion 24         versionCode 1         versionName "1.0"     }     buildTypes {         release {             minifyEnabled false             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'         }     }     packagingOptions {         exclude 'META-INF/LICENSE'         exclude 'META-INF/LICENSE-FIREBASE.txt'         exclude 'META-INF/NOTICE'     } }  dependencies {     compile fileTree(dir: 'libs', include: ['*.jar'])     testCompile 'junit:junit:4.12'      compile 'com.android.support:design:24.2.0'     compile 'com.android.support:appcompat-v7:24.2.0'      // Displaying images     compile 'com.github.bumptech.glide:glide:3.6.1' // Firebase     compile 'com.google.firebase:firebase-database:10.0.0'     compile 'com.firebaseui:firebase-ui-database:1.0.0'      // FirebaseUI Auth only     compile 'com.firebaseui:firebase-ui-auth:1.0.0'      // FirebaseUI Storage only     compile 'com.firebaseui:firebase-ui-storage:1.0.0'      // Single target that includes all FirebaseUI libraries above     compile 'com.firebaseui:firebase-ui:1.0.0'      // Firebase Auth     compile 'com.google.firebase:firebase-auth:10.0.0'  } apply plugin: 'com.google.gms.google-services' 

回答1:

This is most likely do to a version incompatibility between Firebase, and FirebaseUI. I ran into the same issue, and spent 30-45 min trying to figure it out. Ultimately what I did in order to keep going with the "Firebase in a Weekend" tutorial was:

git checkout 1.04-firebase-auth-firebaseui-signin

This will switch to the branch at this point in the tutorial. It works fine after doing so.

Maybe not the ideal answer as to what the problem is, but will get you going again with the course.



回答2:

Matching the versions resolves this. In Compatibility with Firebase / Google Play Services Libraries, it matches

FirebaseUI Version   Firebase/Play Services Version     1.0.0                   9.8.0 

So if dependencies are changed to

compile 'com.google.firebase:firebase-database:9.8.0' compile 'com.google.firebase:firebase-auth:9.8.0' compile 'com.firebaseui:firebase-ui-auth:1.0.0' 

instead of

compile 'com.google.firebase:firebase-database:10.0.0' compile 'com.google.firebase:firebase-auth:10.0.0' compile 'com.firebaseui:firebase-ui-auth:1.0.0' 

which is the latest available firebase version for firebaseUI version, the app works fine



回答3:

You just need to add : compile 'com.google.android.gms:play-services-auth:x.x.x'(find the right version here). They missed to say that you also need to add play-services-auth dependency for google authentication to work.



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!