错误:找不到com.google.gms:google-services:4.2.0。

62
今天我试图将 com.google.gms:google-services 从 4.1.0 更新到最新版本 4.2.0,因为这是 firebase 推荐 的版本。但是我遇到了以下错误:
Could not find com.google.gms:google-services:4.2.0.
Searched in the following locations:
    https://jcenter.bintray.com/com/google/gms/google-services/4.2.0/google-services-4.2.0.pom
    https://jcenter.bintray.com/com/google/gms/google-services/4.2.0/google-services-4.2.0.jar
    https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.2.0/google-services-4.2.0.pom
    https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.2.0/google-services-4.2.0.jar
    https://maven.fabric.io/public/com/google/gms/google-services/4.2.0/google-services-4.2.0.pom
    https://maven.fabric.io/public/com/google/gms/google-services/4.2.0/google-services-4.2.0.jar
Required by:
    project :

这是我的项目构建 Gradle 文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()
        maven {
            url 'https://maven.fabric.io/public'
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'

        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        // These docs use an open ended version so that our plugin
        // can be updated quickly in response to Android tooling updates

        // We recommend changing it to the latest version from our changelog:
        // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
        classpath 'io.fabric.tools:gradle:1.27.0'
    }
}

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

更新:

正如Doug Stevenson所说,依赖项现已可用,因此只需在repositories中使用google()即可。

如果您在其他Google存储库(例如Firebase、ExoPlayer)遇到任何问题,您可以跟踪问题的进展情况此处


我认为google-services存在一些问题,另一个用户在这里提出了同样的问题。相关链接如下:1 2 - AskNilesh
1
https://dev59.com/WVQJ5IYBdhLWcg3wg2JP#53704698 - AskNilesh
尝试添加此代码库:https://dev59.com/WVQJ5IYBdhLWcg3wg2JP#53704634 - pandre
https://issuetracker.google.com/issues/120759347 - Steve
如果您在 buildscript 的 dependencies 中使用 google(),这个问题现已得到解决。 - Doug Stevenson
4个回答

36

因为 google-services:4.2.0 在中央仓库不可用,所以需要从 Android 工具仓库下载。要将其添加到您的项目中,请添加以下内容:

maven { url 'https://dl.bintray.com/android/android-tools' }

请添加以下内容到buildscript仓库中。更多信息请参见https://mvnrepository.com/artifact/com.google.gms/google-services/4.2.0

buildscript {
    repositories {
        jcenter()
        google()
        maven {
            url 'https://maven.fabric.io/public'
        }
        //  Add this to your project 
        maven { url 'https://dl.bintray.com/android/android-tools' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'

        classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        // These docs use an open ended version so that our plugin
        // can be updated quickly in response to Android tooling updates

        // We recommend changing it to the latest version from our changelog:
        // https://docs.fabric.io/android/changelog.html#fabric-gradle-plugin
        classpath 'io.fabric.tools:gradle:1.27.0'
    }
}

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

谢谢。你知道它什么时候会在中央仓库中可用吗? - MJegorovas
1
抱歉,我不知道最新版本的中央存储库是3.11。 - Deepanshu tyagi
5
这只是一个短期解决方案。目前 Google 的 maven 仓库存在问题,正在进行调查。长远来看,您应该依赖于在 build.gradle 中使用 google() - Doug Stevenson
感谢您提醒,@DougStevenson! - Elliott

34

2018年12月10日星期一,太平洋标准时间下午1:30

在jCenter中发现Google Play服务插件、Firebase性能监测插件、exoplayer和可能的其他依赖项缺失。尚不清楚原因,但已知一些团队正在将其构建工件移动到Google Maven仓库。

截至目前,Google Play服务插件已经迁移,现在应该通过您的buildscript中的google()可用。


3
谢谢回复。希望问题能尽快得到解决! - MJegorovas
谢谢!祝你修复顺利!我们暂时使用的是Bintray。 - Archison
1
有没有地方可以监控这个的状态? - Mike

8

尝试这个,对我有用:

buildscript {
    repositories {
        google()
        //jcenter()
        jcenter {url 'https://dl.bintray.com/android/android-tools'}
        jcenter {url 'https://firebase.bintray.com/gradle'}
        mavenCentral ()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.2.0'
        classpath 'com.google.firebase:firebase-plugins:1.1.5'
    }
}

allprojects {
    repositories {
        google()
        //jcenter()
        jcenter {url 'https://dl.bintray.com/android/android-tools'}
        jcenter {url 'https://firebase.bintray.com/gradle'}
        mavenCentral ()

    }
}

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

1
同样的代码在没有 classpath 'com.google.gms:google-services:4.2.0' 这一行的情况下对我起作用了。 - zackygaurav
还要从您的build.gradle(Module:app)中删除apply plugin: 'io.fabric' - zackygaurav

6

google-services:4.2.0现已重新上架到Google Maven仓库,只需使用默认配置同步gradle:

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

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