Android FirebaseAuth-兼容问题(java.lang.NoSuchMethodError:没有虚拟方法zzUV())

Android FirebaseAuth-兼容问题(java.lang.NoSuchMethodError:没有虚拟方法zzUV()),android,firebase,gradle,firebase-authentication,nosuchmethoderror,Android,Firebase,Gradle,Firebase Authentication,Nosuchmethoderror,我有一个android项目在启动时不断崩溃,因为我添加了: firebase认证 我所做的: 将google-services.json添加到应用程序级文件夹 在build.gradle(顶级)中添加了classpath'com.google.gms:google services:3.0.0' 这是我的build.gradle内容(应用程序级) 下面是: android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfi

我有一个android项目在启动时不断崩溃,因为我添加了: firebase认证

我所做的:

  • 将google-services.json添加到应用程序级文件夹

  • 在build.gradle(顶级)中添加了
    classpath'com.google.gms:google services:3.0.0'

  • 这是我的build.gradle内容(应用程序级)

  • 下面是:

    android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "xxxx.xxx.xxx"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        jackOptions {
            enabled true
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    buildTypes {
        debug {
            debuggable true
        }
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
     }
    }
    
    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
      compile 'com.android.support:appcompat-v7:25.1.0'
      compile 'com.android.support:design:25.1.0'
      compile 'com.android.support:support-v4:25.1.0'
      compile 'com.google.android.gms:play-services-base:10.2.1'
      compile 'com.google.android.gms:play-services-maps:10.2.1'
      compile 'com.google.android.gms:play-services-location:10.2.1'
      compile 'com.google.firebase:firebase-auth:10.2.1'
      compile 'com.android.support:recyclerview-v7:25.1.0'
      compile 'com.android.support:cardview-v7:25.1.0'
      testCompile 'junit:junit:4.12'
    }
    
    apply plugin: 'com.google.gms.google-services'
    
    以下是stacktrace崩溃时的状态:

    FATAL EXCEPTION: main Process: xxx.xxxx, PID: 8425
    
    java.lang.NoSuchMethodError: No virtual method zzUV()Ljava/lang/String; in 
    class Lcom/google/firebase/FirebaseApp; or its super classes (declaration of 
    'com.google.firebase.FirebaseApp' appears in /data/app/xxx.xxx-2/base.apk)
    at com.google.firebase.auth.FirebaseAuth.zzd(Unknown Source)
    at com.google.firebase.auth.FirebaseAuth.zzc(Unknown Source)
    at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source)
    at xxx.xxxx.LoginActivity.onCreate(LoginActivity.java:82)
    at android.app.Activity.performCreate(Activity.java:6679)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
    at android.app.ActivityThread.-wrap12(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6119)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
    

    尝试使用较低版本的auth-like

    compile 'com.google.firebase:firebase-auth:9.8.0'
    

    或者类似于
    9.9.0
    etc

    在我的例子中,问题是我的google play service sdk没有安装在android studio中。安装后,我清理了项目,一切正常。

    添加firebase core库
    编译'com.google.firebase:firebase core:10.2.1'
    崩溃是在模拟器中还是在设备上发生的?非常确定emulator自带了自己的Play版本,您需要使用与Firebase Auth版本匹配的版本。同时请记住,Proguard需要一些特殊的配置。请参阅中的“可选:配置ProGuard”您是否在Firebase身份验证部分启用了OAuth providers服务?我发现了问题lol,这是我的错,我没有在我的新电脑上安装google play services sdk。安装后,我“清理了项目”,一切都很好。呵呵……无论如何……我们也对stackoverflow上瘾了!:P