FireBase错误:无法访问com.google.android.gms.internal.zzanb找不到zzanb类文件

时间:2017-01-24 19:20:00

标签: java android firebase

UPD 即可。我已经阅读了这些问题和答案(Class file for com.google.android.gms.internal.zzaja not found)。但我不明白我需要在项目中添加或删除哪些字符串。 因为我的代码中没有这个和其他字符串:     编译com.google.android.gms:play-services-location:9.2.0'

我开发了一个使用FireBase的Android应用程序。当我想构建我的项目时,我有一个错误:

错误:(39,25)错误:无法访问zzanb 找不到com.google.android.gms.internal.zzanb的类文件

错误是由调用语句引起的: FirebaseAuth.getInstance()。getCurrentUser();

项目build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

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

模块build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "xxx.yyy.zzz"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.google.firebase:firebase-core:10.0.1'
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:25.1.0'
    compile 'com.firebaseui:firebase-ui:0.6.0'
    compile 'com.android.support.test.espresso:espresso-core:2.2.2'
}

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

请帮我解决这个错误)

P.S我已经阅读了这个问题(Firebase Error cannot access zzanb after using play-services-xxx:9.8.00),但我不明白,在我的情况下我需要添加或删除build.gradle文件。

3 个答案:

答案 0 :(得分:9)

您正在混合新旧Firebase中发布的库。您使用的Firebase中的所有内容都应该是平价的。这一行引用了一个非常古老的Firebase版本的库(在它成为Google的Firebase平台之前):

compile 'com.firebaseui:firebase-ui:0.6.0'

如果您要使用Firebase-UI库,则应使用与您正在使用的主客户端库版本相匹配的the new version of it。您正在使用10.0.1,因此根据我刚刚链接的Firebase-UI github上的表格,您需要此依赖项:

compile 'com.firebaseui:firebase-ui:1.1.1'

始终确保您的Firebase-UI库与您正在使用的核心Firebase SDK相匹配。

答案 1 :(得分:1)

在您的情况下,Doug's修复程序解决了您的问题,但我们最近遇到了具有不同根本原因的相同问题。

在我们的案例中,我们已将IDE项目配置为使用JDK8,但无法检查终端中使用的JDK版本。因为当您键入“ react-native run-android”时,React Native从命令行运行Gradle,所以Gradle尝试使用JDK10进行构建,这引起了明显的问题,因为Android当前仅支持JDK8。一旦我们将终端配置为使用JDK8,问题就解决了。

TL; DR:检查您在终端中使用的JDK版本。

答案 2 :(得分:0)

Getting following error:
error: cannot access zza
class file for com.google.android.gms.common.internal.safeparcel.zza not found

dependencies {
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.firebase:firebase-analytics:17.0.1'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
/*    implementation 'com.google.firebase:firebase-core:9.2.0'                        // this line must be included to integrate with Firebase
    implementation 'com.google.firebase:firebase-messaging:10.2.1'                   // this line must be included to use FCM*/
    //implementation 'com.google.android.gms:play-services:10.2.1'
    implementation 'com.google.android.gms:play-services-maps:10.2.1'
    implementation 'com.google.firebase:firebase-core:10.2.1'
    implementation 'com.google.firebase:firebase-messaging:10.2.1'
}