如何修复错误:无法找到com.google.gms: google-services: 3.0.0?

10

我想在我的应用程序中添加Firebase AdMob。

在build.gradle(Project)中,我有以下代码:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms: google-services: 3.0.0'
        classpath 'com.android.tools.build:gradle:2.1.3'

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

在 build.gradle(module) 中
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "24.0.2"

    defaultConfig {
        applicationId "com.myname.examp.myapp"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.android.support:design:23.0.0'
    compile 'com.google.firebase: firebase-ads: 9.0.0'
}
apply plugin: 'com.google.gms.google-services'

我已更新谷歌游戏服务和存储库的版本。

enter image description here

当我同步项目时,仍然会出现以下错误。
Error:Could not find com.google.gms: google-services: 3.0.0.
Searched in the following locations:
    file:/C:/Program Files/Android/Android Studio2/gradle/m2repository/com/google/gms/ google-services/ 3.0.0/ google-services- 3.0.0.pom
    file:/C:/Program Files/Android/Android Studio2/gradle/m2repository/com/google/gms/ google-services/ 3.0.0/ google-services- 3.0.0.jar
    https://jcenter.bintray.com/com/google/gms/ google-services/ 3.0.0/ google-services- 3.0.0.pom
    https://jcenter.bintray.com/com/google/gms/ google-services/ 3.0.0/ google-services- 3.0.0.jar
Required by:
    :MyApplication:unspecified

有人可以帮助我如何解决这个错误吗?


你是否已经在你的应用文件夹中添加了 google-services.json 文件? - Aman Jain
@AmanJain。请将这个内容加入回答中,这样我就可以接受你的回答了。非常感谢你的回答。我原以为在安装库时不需要google-services.json文件。 - scott
谁给我投了反对票,请告诉我为什么,这样我下次可以改进。我已经尽可能清楚地解释了我的问题。 - scott
9个回答

18

我遇到了类似的问题,我从 Firebase 的说明中复制了依赖项,并将其粘贴到代码中。

来自说明:

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

不应包含任何空格。这很傻,但浪费了半个小时。


1
我已经从Firebase复制粘贴 问题: com.google.gms.google-services 正确: com.google.gms:google-services(冒号在gms后面而不是点) - Muhammad Ahmed Ali Baig

7
请在您的应用文件夹中添加google-services.json

4
即使我添加了 google-service.json 文件,这个方法对我仍然不起作用。它仍然会报同样的错误。 - karan vs
这个文件在设置GA的说明中没有提到。 我该从哪里获取这个文件? - Marty Miller
@marty 前往 Firebase 控制台 > 概览 > 项目设置 > 下载 google-services.jsonhttps://firebase.google.com/docs/android/setup - Aman Jain

3

将类路径行添加到顶级gradle文件中,而不是在添加单个依赖项的同一文件中。


2

将类路径依赖项移到项目级别的build.gradle文件中,如下所示:

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

请确保在应用程序文件夹中的build.gradle文件中,依赖项之后的apply plugin行如下所示。
apply plugin: 'com.google.gms.google-services'

我犯了一个愚蠢的错误。我写成了 apply from: 'com.google.gms.google-services' 而不是 apply plugin: 'com.google.gms.google-services' - Carl Smith

0

我曾经遇到过同样的错误。

我通过更改

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

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

解决了这个问题。

也许你需要降级版本。


0
在您的项目级别的build.gradle中添加classpath,而不是模块级别的build.gradle。
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.1'
    classpath 'com.google.gms:google-services:3.+'

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

然后在模块级别应用它。

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

0

我在 flutter 项目中遇到了与 classpath 'com.google.gms:google-services:4.3.15' 相似的问题。

例如,在应用程序中使用 Firebase:

  1. 进入 Firebase 项目,点击 Flutter Cli
  2. 在您的系统中添加 Firebase cli 包https://firebase.google.com/docs/cli?authuser=0&hl=en#install_the_firebase_cli
    curl -sL https://firebase.tools | bash 
    dart pub global activate flutterfire_cli
    firebase login
    flutterfire configure --project=projectId
  • 将Firebase添加到您的Android / iOS项目中

0

我在 flutter 项目中遇到了与 classpath 'com.google.gms:google-services:4.3.15' 相似的问题。

例如,在应用程序中使用 Firebase:

  1. 进入 Firebase 项目,单击 Flutter Cli 或执行以下步骤
  2. 在您的系统中添加 Firebase cli 包 https://firebase.google.com/docs/cli?authuser=0&hl=en#install_the_firebase_cli
    curl -sL https://firebase.tools | bash 
    dart pub global activate flutterfire_cli
    firebase login
    flutterfire configure --project=projectId

将 Firebase 添加到你的 Android/iOS 项目中。

-2
错误:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection 无法转换为 org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection 此意外错误的可能原因包括:
  • Gradle 的依赖缓存可能已损坏(这有时会在网络连接超时后发生)。 重新下载依赖项并同步项目(需要网络)
  • Gradle 构建进程(守护程序)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。 停止 Gradle 构建进程(需要重新启动)
  • 您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。
在出现损坏的 Gradle 进程的情况下,您还可以尝试关闭 IDE,然后终止所有 Java 进程。

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