找不到com.google.android.gms.internal.zzaja的类文件。

70
17个回答

61

我今天解决了这个确切的问题,在过程中偶然发现了这个未回答的问题。

首先,请确保您已按照此处的文档正确设置了Firebase for Android:https://firebase.google.com/docs/android/setup。然后,确保您正在编译您使用的Firebase API(9.2.0)和Google Play服务API(9.2.0)的最新版本。我的gradle依赖项看起来像这样:

dependencies {
    ...
    compile 'com.google.android.gms:play-services-location:9.2.0'
    compile 'com.google.firebase:firebase-core:9.2.0'
    compile 'com.google.firebase:firebase-auth:9.2.0'
    compile 'com.google.firebase:firebase-messaging:9.2.0'
}

希望这能有所帮助!


1
值得注意的是,如果您使用开源FirebaseUI库,则应从其中使用依赖项以涵盖Firebase平台的所有组件,或者确保您的FirebaseUI库内部使用与其他Firebase组件相同的版本。简而言之:不好的写法compile 'com.firebaseui:firebase-ui-auth:1.0.0' compile 'com.google.firebase:firebase-database:10.0.0'好的写法compile 'com.firebaseui:firebase-ui-auth:1.0.0' 'compile 'com.firebaseui:firebase-ui-database:1.0.0' 或者 compile 'com.firebaseui:firebase-ui-auth:1.0.0' compile 'com.google.firebase:firebase-database:9.8.0' - Konaras
更新到10.0.1后已修复。 - Developine

20

最近我升级Play服务依赖时遇到了类似的错误。如果您没有更新与您使用的Play服务版本相对应的Firebase依赖项, 这种情况似乎会发生。我认为这是这些依赖项的最新更新。

以下是我的两个依赖项版本:

错误版本的依赖项

compile 'com.google.firebase:firebase-appindexing:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-places:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.google.firebase:firebase-auth:9.8.0'
compile 'com.google.firebase:firebase-database:9.8.0'
compile 'com.firebaseui:firebase-ui-database:1.0.1'
compile 'com.google.firebase:firebase-storage:9.8.0'

依赖项的工作版本

compile 'com.google.firebase:firebase-appindexing:10.0.1'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.google.android.gms:play-services-places:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.0'
compile 'com.google.firebase:firebase-database:10.0.0'
compile 'com.firebaseui:firebase-ui-database:1.0.1'
compile 'com.google.firebase:firebase-storage:10.0.0'

最近谷歌似乎将Play服务更新与Firebase更新一起进行。希望这能为大家节省时间。


17

如果您使用不同版本的Play服务库,则会出现此错误。

例如,build.gradle文件中的以下条目会导致错误,因为版本不同。

implementation 'com.google.android.gms:play-services-maps:11.4.2'
implementation 'com.google.android.gms:play-services-location:11.6.0'

为解决问题,请使用相同版本。

implementation 'com.google.android.gms:play-services-maps:11.6.0'
implementation 'com.google.android.gms:play-services-location:11.6.0'

8

你的Firebase版本应该保持一致,无论是哪个版本。

像这样:

compile 'com.google.firebase:firebase-core:9.0.0'
compile 'com.google.firebase:firebase-database:9.0.0'
compile 'com.google.firebase:firebase-auth:9.0.0'
compile 'com.google.firebase:firebase-messaging:9.0.0' 

7
简而言之,您需要做的是:更新您的库版本。Android Studio会提示您有新版本,例如:

com.google.firebase:firebase-core的新版本可用,高于14.0.4:16.0.4

只需移动到该行,按下Alt + Enter,选择更改为X.X,其中X.X是新版本。

这样,您就可以更新所有库。 重复此过程,处理完所有库,那么您就完成了。


这是一个非常好的想法,“按下Alt + Enter,然后选择更改为X.X”,这样就可以轻松地更改版本,否则需要先搜索谷歌然后再更改。 - Hardik Parmar

6

如果您使用多个Firebase库,请确保版本相同。

Before:
  compile 'com.google.firebase:firebase-database:9.2.0'
    compile 'com.google.firebase:firebase-storage:9.2.0'
    compile 'com.firebaseui:firebase-ui-database:0.4.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.firebase:firebase-auth:9.0.2'

After:  compile 'com.google.firebase:firebase-database:9.2.0'
    compile 'com.google.firebase:firebase-storage:9.2.0'
    compile 'com.firebaseui:firebase-ui-database:0.4.0'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.google.firebase:firebase-auth:9.2.0'

在我的情况下,我使用的是9.0.2版本的身份验证。因此我更改为9.2.0版本。


4

我在2017年6月更改了play-services版本,使用最新的firebase版本(9.6.1)解决了问题。当我使用最新的play-services版本(10.2.4)时,出现了错误。Gradle中的代码如下:

修改前

compile 'com.google.android.gms:play-services-maps:10.2.4'
compile 'com.google.android.gms:play-services-places:10.2.4'
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-auth:9.6.1'

之后

compile 'com.google.android.gms:play-services-maps:9.6.1'
compile 'com.google.android.gms:play-services-places:9.6.1'
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-auth:9.6.1'

3

以下是适用于我个人的play services、firebase和gradle插件的最新版本组合。
请尝试使用应用程序模块的build.gradle

android {
        compileSdkVersion 27
        buildToolsVersion '27.0.3'
        defaultConfig {
            applicationId "my package name"
            minSdkVersion 16
            targetSdkVersion 27
            versionCode 1
            versionName "1.0"
            multiDexEnabled true
            publishNonDefault true
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        } }

    dependencies {
        implementation 'com.google.android.gms:play-services-location:15.0.1'
        implementation 'com.google.android.gms:play-services-maps:15.0.1'
        implementation 'com.google.android.gms:play-services-vision:15.0.2'
        implementation 'com.google.android.gms:play-services-analytics:16.0.1'
        implementation 'com.google.firebase:firebase-core:16.0.1'
        implementation 'com.google.firebase:firebase-iid:17.0.0'
        implementation 'com.google.firebase:firebase-messaging:17.3.0'
        implementation 'com.google.firebase:firebase-crash:16.0.1'
    }

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

而项目级别的 build.gradle 文件应该像这样

buildscript {
    repositories {

        maven { url 'https://maven.google.com' }
        google()
        jcenter()

    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.gms:google-services:4.1.0'
    }
}

2

我也遇到了同样的问题。需要将旧版本的FirebaseAuth更换为新版本。我将"com.google.firebase:firebase-auth:11.4.0"更改为"com.google.firebase:firebase-auth:11.8.0"


2

我也遇到了同样的问题。将库更新到最新版本将解决此问题。

更新后不要忘记使用gradle文件同步项目。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接