找不到 com.google.gms:google-services:4.0.1。

65

嗨,我在Android上开始了一个新项目,并按照Google文档中的说明导入了Firebase。 在Android Studio 3.0.1上一切都很完美。 现在我将Android Studio更新到3.2.1。 重新构建相同的代码时出错,错误提示为:

找不到com.google.gms:google-services:4.0.1

日志如下:

Could not find com.google.gms:google-services:4.0.1.
Searched in the following locations:
    file:/Applications/Android Studio.app/Contents/gradle/m2repository/com/google/gms/google-services/4.0.1/google-services-4.0.1.pom
    file:/Applications/Android Studio.app/Contents/gradle/m2repository/com/google/gms/google-services/4.0.1/google-services-4.0.1.jar
    https://jcenter.bintray.com/com/google/gms/google-services/4.0.1/google-services-4.0.1.pom
    https://jcenter.bintray.com/com/google/gms/google-services/4.0.1/google-services-4.0.1.jar
    https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.0.1/google-services-4.0.1.pom
    https://dl.google.com/dl/android/maven2/com/google/gms/google-services/4.0.1/google-services-4.0.1.jar
Required by:
    project :

我的项目级别 Gradle 版本是:

buildscript {

    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:4.0.1'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

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

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

应用级别的Gradle是:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.arafa.sms"
        minSdkVersion 21
        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.0'
    implementation 'com.android.support:support-v4:27.1.0'
    implementation 'com.android.support:animated-vector-drawable:27.1.0'
    implementation 'com.android.support:support-media-compat:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.code.gson:gson:2.6.2'
    implementation 'com.squareup.okhttp3:okhttp:3.3.1'
    implementation 'com.google.firebase:firebase-core:16.0.1'
}
apply plugin: 'com.google.gms.google-services'

这里有什么问题!请帮帮我!


1
我也遇到了同样的问题。可能与这里类似的问题有关 https://github.com/google/ExoPlayer/issues/5225 - Stepango
1
https://issuetracker.google.com/issues/120759347 - Steve
2个回答

60

我有同样的问题,似乎 Google repo 缺少这个依赖。我检查了仓库,gms 文件夹中没有任何已发布的版本。

因此,作为一个快速解决办法,我添加了另一个含有该依赖的仓库:

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

编辑: 由于这只是一种临时解决方案,并且我认为它是一种权宜之计,以便我能够继续开发。 当Google存储库包含依赖项或我们知道它们将其移动到何处时,我将稍后删除此依赖项。


6
对我来说,也无法找到com.google.firebase:firebase-plugins:1.1.5,所以我不得不添加这个仓库:maven { url 'https://dl.bintray.com/firebase/gradle' } ¯_(ツ)_/¯ - Łukasz Wiśniewski
2
@DavidSucharda 这个安全吗?!Google 会使用它吗? - Damiii
1
这个 com.android.tools.build:gradle:2.2.3 在谷歌的maven仓库 google() 中。@tibuurcio 实际上不是这样,无论如何它都是一个非常旧的版本。 - Peter Haddad
2
@Damiii 这是一个解决方法,因为由于某些原因,谷歌自己的仓库没有所需的依赖项。我建议在谷歌添加回来后将其删除,否则我们会知道他们把它移到了哪里。 - David Sucharda
3
已经修复了,每个人都可以移除临时解决方案 :) - Damiii
显示剩余5条评论

2
尝试在您的项目Gradle文件中添加另一个Maven存储库。例如:
allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

如果那样不起作用,可以尝试在项目的gradle中添加OneSignal gradle插件,这可能会奏效(正如此答案中建议的那样)。请保留HTML标签。
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'

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