Conflit de version mise à jour vers 8.4.0


197

Erreur :

L'exécution a échoué pour la tâche ": app: processDebugGoogleServices". Veuillez corriger le conflit de version en mettant à jour la version du plug-in google-services (des informations sur la dernière version sont disponibles ici ) ou en mettant à jour la version de com.google.android.gms vers 8.3.0.

J'ai fait tout ce que j'ai trouvé.

  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
        }

Et dans l'application gradle

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

Réponses:


336

Utilisez ces dépendances pour le projet build.gradle

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

et placez-le à la fin du fichier build.gradle au niveau de l'application (après les dépendances).

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

Je n'ai aucune idée pourquoi mettre cela à la fin (et non au début) résout l'erreur.

EDIT 5/1/2016

Ok… Donc essayer de mettre un terme à tous les problèmes que vous avez rencontrés avec ma solution

Ceci est mon dernier niveau de niveau d'application

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'

et c'est mon dernier niveau de projet

// 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()
    }
}

Comparez cela avec vos propres fichiers de notes et ajoutez ou modifiez des valeurs différentes de celles que j'ai écrites.


4
compile 'com.google.android.gms:play-services-auth:8.4.0sera également requis.
Shajeel Afzal

2
Je me demande toujours comment les gens tombent sur des solutions comme celle-ci. Essai et erreur? Parchemins sacrés?
A. Steenbergen

77
Pourquoi mettre cela apply plugin: 'com.google.gms.google-services'à la fin du fichier build.gradle fonctionnerait et le mettre au début échouerait?
toobsco42

8
Aucune des solutions ci-dessus ne fonctionne pour moi pour 8.4.0. Tous échouent après le 2e «projet de reconstruction» que j'exécute après avoir enregistré build.gradle. La première version fonctionne (ou n'échoue pas bruyamment), la seconde donne une erreur sur 8.3.0 vs 8.4.0. Échec de l'utilisation de «com.google.android.gms: play-services» au lieu des individus. L'utilisation de (`classpath 'com.google.gms: google-services: 2.0.0-alpha3' ') a échoué avec une autre erreur (sur la 2e version), donc j'utilise 1.5.0. L'utilisation d'un aperçu non Studio n'a fait aucune différence.
arberg

5
IMPORTANT N'oubliez pas d'ajouter votre fichier google-services.json! sinon il échouera avec le message "Le fichier google-services.json est absent du dossier racine du module". Vous pouvez créer le fichier ici: developers.google.com/analytics/devguides/collection/android/v4 Et comme le disent les docs, vous allez ensuite ajouter ce fichier à projectFolder / app (donc la racine de votre module d'application).
Martin Pfeffer

63

Dans le module de l'application (build.gradle)

En mouvement :

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

à la dernière ligne a résolu le problème.


3
pour quiconque se demande pourquoi le déplacement de la apply plugin:...ligne à la fin fonctionne, c'est à cause de cela: "Cette étape nécessite que le plug-in d'application: la ligne" com.google.gms.google-services "soit en bas de votre fichier app / build.gradle afin qu'aucune collision de dépendance ne soit introduite. Vous pouvez voir le résultat de cette étape en exécutant ./gradlew: app: dependencies. "
Tony Chan

15

Procédez comme suit:

  1. Mettez ce qui suit dans votre build.gradle (fichier de niveau d'application)

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

Veuillez vérifier ici la dernière version car cela continue de changer.

  1. Si vous obtenez le message d'erreur ci-dessous, vous devez mettre à niveau votre wrapper gradle vers la dernière version de gradle-wrapper.properties. J'utilise 2.10.

Le plugin est trop ancien, veuillez mettre à jour vers une version plus récente ou définir la variable d'environnement ANDROID_DAILY_OVERRIDE

  1. Mettez la ligne suivante au bas de votre build.gradle (fichier gradle de niveau module)

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

1
L'ajout de la ligne de plugin d'application au bas de mon build.gradle l'a corrigé pour moi. Merci!
Panda4Man

Heureux que vous ayez spécifié de vérifier le lien pour la dernière version. Aucune des versions bêta suffixées ne fonctionnait pour moi et je ne savais pas d'où les gens obtenaient toutes ces versions. 2.12 a finalement fonctionné pour moi.
Ryan H.

7

Cela semble être corrigé avec la version 3.0.0 du plugin des services Google (et la version 9.0.0 de la bibliothèque des services Google Play). Donc avec ça

build.gradle de niveau supérieur

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

niveau de l'application build.gradle

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

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

Remarque rapide: Si vous mettez à jour la version 3.0.0 du google-servicesplugin, assurez-vous de régénérer votre fichier de configuration car il contient de nouveaux champs (expliqués ici ).

Edit (2016-06-20): Bien que cela compile et s'exécute, je viens de remarquer que dans les journaux de construction, il spécifie de mettre le plugin en bas du fichier, ou la valeur par défaut (9.0.0) sera utilisée. Donc, dans la situation ci-dessus, ce n'est pas un problème car j'utilise la version 9.0.0, mais cela peut être problématique lors de la mise à jour de la dépendance. Voici le journal:

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

Pour moi ne fonctionne que ceci:

Haut niveau.

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

Niveau de l'application:

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
se déplacer apply plugin: 'com.google.gms.google-services'vers le bas a fait le travail dans mon projet
Napoléon

devrait être en bas est le facteur clé ici
Dr. aNdRO

4

trouvé dans l'exemple officiel

en projet 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()
    }
}

dans l'application 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
Pour utiliser alpha9travaillé avec moi Gradle 2.11. Merci pour ça! Pouvez-vous s'il vous plaît lier à l'exemple officiel peut-être qu'il est également utile pour d'autres problèmes comme celui-ci.
Cilenco


2

J'ai mis à jour dans l'application build.gradle

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

et app build.gradle

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

Son travail pour.


2

Dans mon cas, j'ai supprimé le "plugin d'application:" com.google.gms.google-services "" à la fin de gradle.build et son bon fonctionnement.



1

Je cherchais ... sur la page Google, il y a la solution ... https://developers.google.com/android/guides/google-services-plugin#introduction

Ajoutez des dépendances pour les bibliothèques de base requises pour les services que vous avez activés. Cette étape nécessite que le plugin d'application: la ligne 'com.google.gms.google-services' soit à la fin de votre fichier app / build.gradle afin qu'aucune collision de dépendance ne soit introduite. Vous pouvez voir le résultat de cette étape en exécutant ./gradlew: app: dependencies.


1

Il n'y a aucun sens à déplacer le plugin d'application: 'com.google.gms.google-services'à la fin de build.gradle . Cela revient à ne pas le définir.

Supprimez simplement cette ligne et assurez-vous d'appliquer le plugin: ' com.android.application' est là

Utilisation:

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

il compilera.


L'application du plugin a / pourrait avoir un effet sur la version utilisée. Voir cette réponse par rguerinet
Ryan H.

0

En projet gradle

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

dans l'application / module gradle

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

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

-1

Au niveau du projet:

       compileSdkVersion 23

Ça fonctionne.


-3

Voici mes instructions pour le réparer.

  1. Changer pour utiliser compile 'com.google.android.gms:play-services-location:8.3.0'dans l'applicationbuild.gradle
  2. Passer apply plugin: 'com.google.gms.google-services'à la fin de l'applicationbuild.gradle
  3. Utilisation classpath 'com.google.gms:google-services:2.0.0-alpha3'dans le projetbuild.gradle dépendance de
  4. Changement à utiliser gradle-2.8dansgradle/wrapper/gradle-wrapper.properties
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.