Оновлення конфлікту версій до 8.4.0


197

Помилка :

Не вдалося виконати завдання ": app: processDebugGoogleServices". Виправте конфлікт версій або оновивши версію плагіна Google-сервісів (інформація про останню версію доступна тут ) або оновивши версію 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'

Відповіді:


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
Мені завжди цікаво, як люди натрапляють на подібні рішення. Метод спроб і помилок? Святі сувої?
А. Стінберген

77
Навіщо ставити це apply plugin: 'com.google.gms.google-services'в кінці файлу build.gradle і ставити його на початковій помилці?
toobsco42

8
Жодне з перерахованих вище рішень для мене не працює для 8.4.0. Усі помилки після 2-го проекту "Відновити" я виконую після збереження build.gradle. Перша збірка працює (або не виходить з ладу), друга дає помилку приблизно 8.3.0 проти 8.4.0. Не вдалося використовувати "com.google.android.gms: play-services" замість людей. Використання (`classpath 'com.google.gms: google-services: 2.0.0-alpha3'`) не вдалося з іншою помилкою (у 2-й збірці), тому я використовую 1.5.0. Використання програми, що не переглядає Studio, не змінило значення.
arberg

5
ВАЖЛИВО Не забудьте додати файл google-services.json! в іншому випадку це не вдасться з повідомленням "Файл google-services.json відсутній у кореневій папці модуля". Файл можна створити тут: developers.google.com/analytics/devguides/collection/android/v4 І як кажуть документи, далі ви додасте цей файл у projectFolder / app (так, корінь вашого модуля програми).
Мартін Пфеффер

63

У модулі програми (build.gradle)

Переміщення:

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

до останнього рядка вирішили питання.


3
для всіх, хто цікавиться, чому переміщення apply plugin:...рядка до кінця працює, це через це: "Цей крок вимагає, щоб плагін застосувати: рядок" com.google.gms.google-services "знаходився в нижній частині файлу програми / build.gradle щоб не було введено колізійних залежностей. Результат цього кроку ви можете побачити, запустивши ./gradlew: app: залежності. "
Тоні Чан

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
Додавання рядка плагіна застосувати в BOTTOM мого build.gradle виправило його для мене. Дякую!
Panda4Man

Радий, що ви вказали, щоб перевірити посилання на останню версію. Жодна з бета-версійних версій не працювала для мене, і я не знав, звідки люди отримують усі ці версії. 2.12 нарешті працював для мене.
Райан Х.

7

Здається, це виправлено за допомогою версії 3.0.0 плагіна Служб Google (та версії 9.0.0 бібліотеки Служб Google Play). Так з цим

Верхній рівень 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
}

Швидка сторона Примітка: Якщо ви оновлюєте до версії 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.


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

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


2

Я оновив додаток 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

У моєму випадку я видалив "застосувати плагін: 'com.google.gms.google-services'" з кінця gradle.build та його робочий штраф.



1

Я був вручну ... на сторінці Google є рішення ... https://developers.google.com/android/guides/google-services-plugin#introduction

Додайте залежності для основних бібліотек, необхідних для ввімкнених служб. Цей крок вимагає, щоб плагін застосувати: рядок 'com.google.gms.google-services' знаходиться в кінці файлу програми / build.gradle, щоб не вводилося зіткнення залежностей. Результат цього кроку ви можете побачити, запустивши ./gradlew: app: залежності.


1

Немає сенсу переміщення застосувати плагін: '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

У проектному градусі

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'
}


-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.8вgradle/wrapper/gradle-wrapper.properties
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.