无法解析:com.google.firebase:firebase-core:16.0.1

76

我想在我的应用程序中添加Firebase云存储。下面是应用程序build.gradle文件。但是它显示:
无法解析:com.google.firebase:firebase-core:16.0.1。
为什么?依赖项中根本没有firebase-core。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.louise.udacity.mydict"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'com.google.firebase:firebase-storage:16.0.1'
    implementation 'com.google.firebase:firebase-auth:16.0.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

    implementation 'com.google.cloud:google-cloud-storage:1.31.0'
    implementation 'com.firebase:firebase-jobdispatcher:0.8.5'
}

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

1
如果您正在使用 Kotlin,则将以下代码:implementation 'com.google.firebase:firebase-core:16.0.0'替换为:kapt 'com.google.firebase:firebase-core:16.0.0'并在您的顶级 Gradle 文件中添加以下代码:classpath 'com.google.gms:google-services:4.0.1' - Dilip
14个回答

116

从文档中可以得知:

为了使 Firebase 服务按预期工作,您的应用 gradle 文件现在必须明确列出 com.google.firebase:firebase-core 作为依赖项。

添加:

 implementation 'com.google.firebase:firebase-core:16.0.1'

在顶层gradle文件中使用最新版本的Google Play服务:

classpath 'com.google.gms:google-services:4.0.2'

https://firebase.google.com/support/release-notes/android

https://bintray.com/android/android-tools/com.google.gms.google-services

注意:

根据Firebase文档的规定,您需要在顶级gradle文件中添加google()仓库,并且应该在 jcenter() 之前。

 buildscript {
  repositories {
          google()
          jcenter()
      }



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

allprojects {
     repositories {
              google()
             jcenter()
  }
}

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

https://firebase.google.com/docs/android/setup


6
我已添加firebase-core,但仍出现相同的错误。顺便说一下,我在Android Studio中使用Firebase助手添加了Firebase云服务。 - Louise L.
1
清理并重新构建项目,你使用的是哪个Android版本插件? - Peter Haddad
1
是的,我尝试过“清理”和“重建”,但结果相同。您所说的“Android版本插件”是什么意思?因此,如果我删除firebase-storage和firebase-auth依赖项,错误就消失了。一旦将这2个依赖项添加回去,似乎有东西强制firebase-core升级到16.0.1,然后失败了。 - Louise L.
1
哦,我的“com.google.gms:google-services”版本是3.XX,我刚刚升级到了4.0.1,问题解决了。非常感谢!! - Louise L.
1
@Shachi,正如我在注释中所说的那样,您需要添加 google() 才能使用 Firebase 服务。 - Peter Haddad
显示剩余7条评论

6
将maven { url "https://maven.google.com" }添加到您的根级别build.gradle文件中。
repositories {
    maven { url "https://maven.google.com" }
    flatDir {
        dirs 'libs'
    }
}

6
自从2018年5月23日的更新以来,当您使用Firebase依赖项时,还必须包括firebase-core依赖项。
如果添加了它,仍然出现错误,请尝试将gradle-wrapper.properties中的gradle插件更新到4.5版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-all.zip

并重新同步项目。


1
我添加了firebase-core,但是仍然出现了相同的错误。顺便说一下,我在android studio中使用firebase助手来添加firebase云服务。 - Louise L.
+--- com.google.firebase:firebase-core:16.0.0 -> 16.0.1 FAILED 我尝试运行gradle dependencies,结果显示了上述条目。看起来它故意将build.gradle中我声明的16.0.0转换为16.0.1。你知道这是为什么吗?如何修改设置? - Louise L.
一样的问题。在使用16.0.0版本时,一切都正常工作,但是当我升级到16.0.1版本时就失败了。我正在使用最新的Android Gradle和GMS配置,以及gradle 4.7。有什么想法吗? - racs
是的,我需要gradle-4.5。使用4.4版本时,我遇到了错误。 - Md Tarik Mahmud
这个版本已经过时了,请不要遇到兼容性问题。请将所有内容升级到最新版本。 - Abhinav Saxena

6

正如@Peter Haddad所提到的,

为了解决这个问题,我遵循了Google Firebase集成指南并在我的app/build.gradle和project/build.gradle中进行了以下更改。

如果有任何疑问,请参考下面提到的链接

https://firebase.google.com/docs/android/setup

app/build.gradle中的更改

implementation 'com.google.android.gms:play-services-base:15.0.2'
implementation "com.google.firebase:firebase-core:16.0.1"
implementation "com.google.firebase:firebase-messaging:17.4.0"

Project/build.gradle 的变更

repositories {

        google()
        jcenter()
        mavenCentral()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
        classpath 'com.google.gms:google-services:4.2.0'// // google-services plugin it should be latest if you are using firebase version 16.0 +
       
    }
    allprojects {
    repositories {
         google()// add it to top instead of bottom or somewhere in middle
        mavenLocal()
        mavenCentral()
        maven {
            url 'https://maven.google.com'
        }
       
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        
    }
}


5
我遇到了同样的问题,通过替换 : 的方式解决了它。
implementation 'com.google.firebase:firebase-core:16.0.1'

to

implementation 'com.google.firebase:firebase-core:15.0.2'

一切都得到解决,工作正常。


3
未来不久你可能会遇到兼容性问题,请将所有东西升级到最新版本。 - Abhinav Saxena

4
我的问题实际上是缺少了下载“Google Play服务”和“Google存储库”,这使得它能够正常工作。
前往:设置 -> Android SDK -> SDK工具 -> 检查/安装Google Play服务+存储库。

SDK Tools Settings SS

希望它有所帮助。

2
我按照以下步骤解决了这个问题 -
1.) 当您的项目没有连接到Firebase时,会出现此错误。如果您使用的是Android Studio 2.2或更高版本,请从 工具 -> Firebase 连接。
2.) 确保在 app/build.gradle 中将 compile 替换为 implementation
3.) 从Firebase文档中包含您的Firebase依赖项。现在应该一切正常。

2
这种情况很少见,但有可能是你项目的gradle离线模式已启用。请按以下步骤禁用离线模式:
  • 在Android Studio中找到头部的“文件”选项卡并单击
  • 在弹出的菜单中选择“设置”
  • 在弹出的对话框中,选择“构建、执行、部署”,然后选择“Gradle”
  • 最后取消选中“离线工作”复选框并应用更改
如果这不起作用,请留下评论描述您的Logcat响应,我会尽力提供更多帮助。

0
如果你收到一个指示无法找到库的错误,请检查 Google Maven 仓库中是否有你所需的库和版本。我曾经遇到过某个版本突然消失并导致构建失败的情况。

https://maven.google.com/web/index.html


0
在我的情况下,通过将compileSdkVersion和targetSdkVersion从26更改为27来解决了这个问题。

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