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

74

同步我的项目时,我遇到了多个“解析失败”问题。它们都与firebase和play-services有关。我确保它们都是相同的(11.2.0)。我还检查了它们的最新版本,都是11.2.0。此外,所有其他类似问题的答案都涉及更新SDK管理器中的Google play服务和存储库,但我的已经是最新的。

输入图像描述

输入图像描述

请问为什么我不能同步我的项目?

编辑 - 当前可行的解决方案

// 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.3.3'
        classpath 'com.google.gms:google-services:3.0.0'
        classpath 'com.google.firebase:firebase-plugins:1.0.4'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://maven.google.com" } 
    }
}

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

请发布您的项目级 build.gradle 文件。 - Bob Snyder
1
google() 移动到 allprojects/repositories - Bob Snyder
@BobSnyder 刚刚进行了更改,但我仍然收到“Gradle DSL方法未找到:'google()'”的错误,但我正在使用Gradle版本2.3.3。 - rigotre
3
请使用 maven { url "https://maven.google.com" } 来代替 google() - Bob Snyder
1
@JayVyas 你确定它在 allprojects/repositories 节点而不是仅在 repositories 节点中吗? - rigotre
显示剩余6条评论
6个回答

137

maven { url "https://maven.google.com" } 添加到您的根级别 build.gradle 文件中。

allprojects {
    repositories {
        jcenter()
        maven {
            url "https://maven.google.com"
        }
    }
}

1
AS文档中了解更多细节。 - Bob Snyder
1
@BobSnyder 刚试了一下。添加了 Maven 仓库,然后将我的依赖项更改回 11.2.0,但我还是遇到了相同的问题。 - rigotre
它可以工作,但你需要在项目级别的build.gradle文件中应用。 - Hanuman
2
确保在allprojects/repositories下添加了maven {...},这个方法对我有帮助。 - Oblivionkey3
虽然这解决了我遇到的问题,但我很好奇为什么它突然出现了。我在项目中正常使用Firebase。然后我想我唯一做的事情就是删除了一个第三方库,然后同步失败并出现了这个错误。 - Stylishcoder

34

Play ServicesFirebase 的依赖现在可以通过 Google Play services 和 Firebase 的版本11.2.0 来自 maven.google.com

您可以在此找到 Google Play 服务的官方文档和 Firebase 的文档

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}
如果您正在使用 Android Gradle 插件 3.x,则可以使用以下内容:

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

2
刚试了一下,没有成功。我检查了我的Gradle版本,它是2.3.3。我还尝试了简单地添加{url 'maven.google.com' },但也不起作用。 - rigotre
google() 对我和 OP 都不起作用 - 请参见问题评论。我们都在使用 com.android.tools.build:gradle:2.3.3。有什么想法是错的吗? - Bob Snyder
1
更新 - 结果发现我把 google() 仓库放在了错误的部分。然而,我不得不使用 maven { url "https://maven.google.com" },因为 google() 对我和 Bob 都不起作用。 - rigotre
1
@BobSnyder 我刚刚更新了答案。看起来 google() repo 似乎只能在 android gradle 插件 3.x 版本下工作。 - Gabriele Mariotti
对于任何有兴趣使用Gradle的Android插件版本3.0.0的人,这里是迁移说明 - Bob Snyder
谢谢,你救了我的一天。对于在git上运行其示例项目的Quickblox用户,我们需要在项目级别的graddle中添加google(),因为它的版本是3.x。 - Kumar Raj

12

我通过添加firebase-core依赖项来修复了相同的错误。

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

我没有输入:16.0.1 - marcusshep
你知道关于'com.google.firebase:firebase-core:17.2.0'的问题吗?当我在我的Flutter应用程序中使用它时,它无法正常工作。 - Parth Bhanderi

2
随着Firebase的16.0.0版本发布,我不得不做以下更改:
  • 将大多数Google Play服务库设置为15.0.0,分析和标签管理需要设置为16.0.0
  • 将支持库版本设置为27.1.1
  • 将firebase-core设置为16.0.0

构建基于SDK 27

额外的变化:

我还必须更新我的分析到16.0.0:

  • 实现"com.google.android.gms:play-services-analytics:16.0.0"

我猜这是Android最近进行的独立版本操作的一部分。也许需要尝试升级或降低Google Play服务和Firebase库的版本。


1
最佳方法是不使用手动链接Firebase到您的应用程序。我尝试了通过参考 链接 添加最新的Firebase repo。但出现了“无法解决依赖项firebase 11.2.0”的错误。Firebase建议使用Android Studio版本2.2及更高版本的Firebase助手来帮助将Firebase添加到您的应用程序中。手动将最新库添加到build-gradle(module)会导致上述错误。Firebase助手会自动将较低版本10.0.1添加到模块gradle-build的依赖项中,这是兼容的并且可以解决。使用Firebase助手非常简单,只需两个步骤。有关参考,请使用上面提到的相同链接中的“使用Firebase助手”部分。它确实适用于我的Android Studio 2.3.3。还请确保您的Google存储库已经更新。

0

从工具-> SDK 管理器-> SDK 工具安装 Google Play 服务和 Google 存储库并同步您的项目,它将正常工作。


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