版本冲突更新到8.4.0


197

错误

任务':app:processDebugGoogleServices'的执行失败。请通过更新google-services插件的版本(此处提供有关最新版本的信息)或将com.google.android.gms的版本更新为8.3.0来解决版本冲突 。

我已经做了所有发现的事情。

  dependencies {
            // This does not break the build when Android Studio is missing the JRebel for Android plugin.
            classpath 'com.zeroturnaround.jrebel.android:jr-android-gradle:1.0.+'
            classpath 'com.android.tools.build:gradle:2.0.0-alpha3'
            classpath 'com.google.gms:google-services:2.0.0-alpha3'

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

并在应用程序gradle中

    compile 'com.google.android.gms:play-services:8.4.0'

Answers:


336

将这些依赖项用于项目build.gradle

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

并将其放在应用程序级别build.gradle文件的末尾(在依赖项之后)。

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

我不知道为什么将其放在结尾(而不是开头)可以解决该错误。

编辑5/1/2016

好吧...因此,试图结束你们在我的解决方案中遇到的所有问题

这是我最后的应用程序级别

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "your-app-name"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    jcenter()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.android.support:design:23.1.1'
    compile 'com.mcxiaoke.volley:library:1.0.6@aar'
}

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

这是我最后的项目级别

// 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.0.0-alpha3'
        classpath 'com.google.gms:google-services:2.0.0-alpha3'

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

allprojects {
    repositories {
        jcenter()
    }
}

将此与您自己的gradle文件进行比较,并添加或修改与我编写的值不同的任何值。


4
compile 'com.google.android.gms:play-services-auth:8.4.0也将是必需的。
Shajeel Afzal

2
我总是想知道人们如何偶然发现这样的解决方案。反复试验?神圣卷轴?
A. Steenbergen'1

77
为什么将其放在apply plugin: 'com.google.gms.google-services'build.gradle文件的末尾并放在开头就失败了?
toobsco42 '16

8
上述解决方案均不适用于8.4.0。保存build.gradle后执行的第二个“ Rebuild project”都失败。第一个版本可以正常工作(或不会大声失败),第二个版本给出的错误大约是8.3.0与8.4.0。使用'com.google.android.gms:play-services'而不是个人失败。使用(`classpath'com.google.gms:google-services:2.0.0-alpha3'`)失败,并出现其他错误(在第二个版本中),所以我使用1.5.0。使用非Studio预览没有区别。
arberg

5
重要事项不要忘记添加您的google-services.json文件!否则它将失败,并显示消息“模块根文件夹中缺少文件google-services.json”。您可以在此处创建文件:developers.google.com/analytics/devguides/collection/android/v4正如文档所说,接下来您将把该文件添加到projectFolder / app(因此是应用程序模块的根目录)。
Martin Pfeffer

63

在应用程序的模块(build.gradle)中

正在移动:

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

到最后一行解决了问题。


3
对于想知道为什么将apply plugin:...行尾移到末尾的人来说,原因是: “此步骤要求apply插件:'com.google.gms.google-services'行位于app / build.gradle文件的底部这样就不会引入依赖项冲突。您可以通过运行./gradlew:app:dependencies查看此步骤的结果。”
东尼·陈

15

请执行下列操作:

  1. 将以下内容放入您的build.gradle(应用程序级别gradle文件)中

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

请检查此处的最新版本,因为它会不断变化。

  1. 如果收到以下错误消息,则需要将gradle包装器升级到gradle-wrapper.properties中的最新版本。我正在使用2.10。

插件太旧,请更新到较新版本,或设置ANDROID_DAILY_OVERRIDE环境变量

  1. 将以下行放在build.gradle(模块级gradle文件)的底部

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

1
在我的build.gradle的底部添加Apply插件行为我修复了它。谢谢!
Panda4Man

很高兴您指定要检查链接以获取最新版本。没有带beta版本的后缀版本对我有用,我也不知道人们从哪里获得所有这些版本。2.12终于为我工作了。
Ryan H.

7

这似乎已通过Google Services插件的3.0.0版(和Google Play服务库的9.0.0版)修复。所以有了这个

顶级build.gradle

dependencies {
    classpath 'com.google.gms:google-services:3.0.0'
}

应用程序级别build.gradle

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

dependencies {
    compile 'com.google.android.gms:play-services:9.0.0
}

快速说明:如果要更新到google-services插件的3.0.0版本,请确保重新生成配置文件,因为它具有新字段(在此处说明))。

编辑(2016-06-20):虽然确实可以编译和运行,但我只是注意到它在构建日志中确实指定将插件放在文件底部,否则将使用默认值(9.0.0)。因此,在上述情况下,这不是问题,因为我使用的是9.0.0版,但是在更新依赖项时可能会出现问题。这是日志:

google-services plugin could not detect any version for com.google.android.gms or com.google.firebase, default version: 9.0.0 will be used. please apply google-services plugin at the bottom of the build file.


5

对我来说仅此:

顶层。

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

应用程序级别:

dependencies {
    compile 'com.google.android.gms:play-services-gcm:9.0.1'
    compile 'com.google.android.gms:play-services-location:9.0.1'
}

// should be at the bottom
apply plugin: 'com.google.gms.google-services'

1
移至apply plugin: 'com.google.gms.google-services'最底层完成了我的项目
拿破仑

应该在底部是这里的关键因素
aNdRO博士17年

4

在官方示例中找到

在项目gradle中

// 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.0.0-alpha9'
        classpath 'com.google.gms:google-services:2.0.0-alpha9'

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

allprojects {
    repositories {
        jcenter()
    }
}

在应用程序gradle中

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.google.samples.quickstart.signin"
        minSdkVersion 18
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'LICENSE.txt'
    }

    // Resolve dependency differences between app and tests
    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:23.1.1'
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'

    // Dependency for Google Sign-In
    compile 'com.google.android.gms:play-services-auth:8.4.0'

    // UiAutomatorTesting
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.2'
    androidTestCompile 'com.android.support:support-annotations:23.1.1'
}

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

1
使用alpha9对我有用Gradle 2.11。这次真是万分感谢!您能链接到官方示例吗,也许对其他类似问题也有帮助。
Cilenco '16


2

我已经在app build.gradle中更新了

dependencies {
....
compile 'com.google.android.gms:play-services-auth:9.0.0'

和应用程序build.gradle

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

它的工作。


2

就我而言,我从gradle.build的末尾删除了“ apply plugin:'com.google.gms.google-services'”,它的工作正常。




1

将apply plugin:'com.google.gms.google-services' 移动到build.gradle的末尾没有任何意义。它与未定义相同。

只需删除此行,并确保应用插件:“ com.android.application

用:

compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.google.android.gms:play-services:8.4.0'

它将编译。


应用插件确实会/可能会影响所使用的版本。参见rguerinet的答复
Ryan H.

0

在项目gradle中

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.google.gms:google-services:2.0.0-alpha6'
    }
}

在应用程序/模块gradle中

apply plugin: 'com.google.gms.google-services'
android {
    ...
}

dependencies {
    compile 'com.google.android.gms:play-services-analytics:8.3.0'
}

-1

在项目gradle中:

       compileSdkVersion 23

这是工作。


-3

这是我的修复方法。

  1. 更改为compile 'com.google.android.gms:play-services-location:8.3.0'在应用中使用build.gradle
  2. 移至apply plugin: 'com.google.gms.google-services'应用程式结尾build.gradle
  3. 用于classpath 'com.google.gms:google-services:2.0.0-alpha3'项目build.gradle依赖
  4. 更改使用gradle-2.8gradle/wrapper/gradle-wrapper.properties
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.