Обновление конфликта версий до 8.4.0

Ошибка:

Не удалось выполнить задачу ":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'

14 ответов

Решение

Используйте эти зависимости для проекта 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'

Я понятия не имею, почему установка этого в конце (а не в начале) решает ошибку.

РЕДАКТИРОВАТЬ 1/1/2016

Хорошо... Итак, пытаясь положить конец всем проблемам, с которыми вы, ребята, столкнулись, с моим решением

Это мой последний уровень приложения Gradle

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'

и это мой последний уровень проекта 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-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 и добавьте или измените любые значения, которые отличаются от того, что я написал.

В модуле приложения (build.gradle)

Переезд:

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

до последней строчки решил вопрос.

Сделайте следующее:

  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(файл уровня уровня модуля)

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

Похоже, что это было исправлено в версии 3.0.0 плагина Google Services (и версии 9.0.0 библиотеки Google Play Services). Так с этим

верхний уровень 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
}

Quick Side Note: Если вы обновляете до версии 3.0.0 google-services Плагин, не забудьте восстановить ваш файл конфигурации, так как он имеет новые поля (объяснено здесь).

Редактировать (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.

У меня работает только это:

Верхний уровень.

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'

Найдено в официальном примере

в проекте 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'

Я обновил в приложении 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'
}

Это работает для.

В моем случае я удалил "применить плагин:" com.google.gms.google-services "" из конца gradle.build и он работает нормально.

Я зашел на поиски... на странице Google есть решение... https://developers.google.com/android/guides/google-services-plugin

Добавьте зависимости для базовых библиотек, необходимых для включенных вами служб. Для этого шага необходимо, чтобы строка "Подключить плагин: com.google.gms.google-services" находилась в конце файла app / build.gradle, чтобы не возникали конфликты зависимостей. Вы можете увидеть результат этого шага, запустив./gradlew:app:dependencies.

Нет смысла в перемещении применить плагин: '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'

это скомпилируется.

В проекте 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'
}

В проекте Gradle:

       compileSdkVersion 23

Это работает.

Вот моя инструкция, чтобы исправить это.

  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.8 в gradle/wrapper/gradle-wrapper.properties
Другие вопросы по тегам