178 votes

Google Play Services GCM 9.2.0 demande de "mettre à jour" à 9.0.0

Donc ce matin, j'ai commencé à mettre à jour les bibliothèques de mon projet à la dernière version.

Je suis en train de mettre à jour GCM à la dernière version 9.2.0, mais je reçois cette erreur:

Erreur : Échec de l'exécution de la tâche ':app:processDebugGoogleServices'. Veuillez corriger le conflit de version en mettant à jour la version du plugin google-services (des informations sur la dernière version sont disponibles sur https://bintray.com/android/android-tools/com.google.gms.google-services/) ou en mettant à jour la version de com.google.android.gms en 9.0.0.

Voici comment j'ai mon code:

dependencies {
    classpath 'com.android.tools.build:gradle:2.1.2'
    classpath 'com.google.gms:google-services:3.0.0'
    classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}

Et ensuite:

dependencies {
    ...

    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

Quelqu'un a-t-il eu le même problème/réussi à résoudre le même problème?

Merci.

EDIT

Apparemment, vous devez appliquer votre plugin GSM en bas de votre fichier app/build.gradle. Sinon, la version 9.2.0 causera un conflit dans votre projet.

Pour référence, voici à quoi ressemble maintenant mon fichier app/build.gradle:

apply plugin: "com.android.application"
apply plugin: "com.neenbedankt.android-apt"

android {
    ...
}

dependencies {
    ...

    // Google Cloud Messaging
    compile "com.google.android.gms:play-services-gcm:9.2.0"

    ...
}

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

0 votes

Même problème ici, je suis revenu à la version 9.0.0

0 votes

@mbonnin J'ai fini par faire la même chose. Mais j'aimerais vraiment savoir ce qui se passe ici. Je n'ai pas eu de chance pour trouver une réponse pour le moment.

2 votes

Et puis 9.0.0 a ce bug stackoverflow.com/questions/37361651/… et la solution semble être de mettre à jour vers 9.2.0.... Ce qui n'est pas possible grâce au bug ici :-(

507voto

Gusthema Points 13

Avez-vous la ligne

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

à la fin du fichier build.gradle de votre application ?

J'ai vu quelques erreurs quand elle était en haut et comme il est écrit ici, elle devrait être en bas.

0 votes

Ce n'est pas le problème. Et selon la documentation officielle, tous les plugins doivent être appliqués en haut. developer.android.com/studio/build/index.html

11 votes

Ce n'est pas vrai, le plugin gms doit être en bas du fichier comme vous pouvez le voir ici sur la documentation pour gms : developers.google.com/android/guides/google-services-plugin

1 votes

Je me tiens corrigé. Quoi qu'il en soit, cela ne résoudra pas le problème.

54voto

Vikas Choudhary Points 271

Placez simplement cette ligne en bas du fichier gradle de votre app-module (et non pas du projet principal).

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

Ensuite, reconstruisez votre projet.

11voto

Gustavomcls Points 1460

J'avais le même problème, aujourd'hui 2016 - octobre - 06 J'ai résolu avec ceci :

J'ai changé toutes les dépendances qui commençaient par 9.?.? à 9.6.1 J'ai compilé avec la version sdk 24 et la version cible 17.

Il y a d'autres packages dans ma solution parce que j'ai utilisé plus de choses que seulement l'authentification.

Après avoir modifié votre build.gradle (Module : app) avec le code ci-dessous, faites ceci :

  1. Mettez votre NOM de package dans la ligne avec les mots applicationId "com.VOTRE_PACKAGE_ICI"

  2. Synchronisez votre projet (Ctrl+alt+v) et reconstruisez à nouveau.

Voici le code du fichier build.gradle (Module : app) qui a fonctionné pour moi :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.VOTRE_PACKAGE_ICI"
        minSdkVersion 24
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    compile 'com.google.firebase:firebase-core:9.6.1'
    compile 'com.google.firebase:firebase-database:9.6.1'

    compile 'com.android.support:appcompat-v7:24.2.1'
    compile 'com.android.support:design:24.2.1'

    compile 'com.google.firebase:firebase-crash:9.6.1'
    testCompile 'junit:junit:4.12'

    compile 'com.google.firebase:firebase-messaging:9.6.1'

    compile 'com.google.firebase:firebase-ads:9.6.1'

    compile 'com.google.firebase:firebase-auth:9.6.1'

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

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

6voto

yaneq6 Points 96

La même situation était présente avec les versions précédentes. Il est agaçant que les nouvelles versions des bibliothèques com.google.android.gms soient toujours publiées avant le plugin, et qu'il soit impossible d'utiliser la nouvelle version car elle est incompatible avec l'ancien plugin. Je ne sais pas si le plugin est désormais nécessaire (les documents de Google sont nuls). Je me souviens du temps où ce n'était pas le cas. La seule solution est d'attendre la nouvelle version du plugin, ou vous pouvez essayer de supprimer les dépendances du plugin, mais comme je l'ai dit je ne suis pas sûr que GCM fonctionnera sans. Ce que je sais, c'est que la principale fonctionnalité de la version 9.2.0 est la nouvelle API Awareness https://inthecheesefactory.com/blog/google-awareness-api-in-action/en, si vous n'en avez pas besoin, vous pouvez utiliser la version 9.0.0 sans aucun problème.

0 votes

Ah, va comprendre. Comme il n'y a aucune documentation précisant le contraire, j'ai supposé que les nouvelles versions seraient livrées avec le plugin requis. À ma connaissance, vous avez besoin du plugin pour que GCM fonctionne, donc je suppose que c'est une solution de vérification manuelle des mises à jour.

1 votes

Certainement @yaneq google docs craint, j'ai le même problème en ce moment

5voto

Rahul Bagal Points 129

La solution de Gustavomcls pour changer la version com.google.* en même version a bien fonctionné pour moi.

J'ai changé les deux dépendances en 9.2.1 dans buid.gradle (Module : app)

compile 'com.google.firebase:firebase-ads:9.2.1'
compile 'com.google.android.gms:play-services:9.2.1'

0 votes

J'ai également rencontré ce problème à cause de firebase, mais je n'aime pas cette solution de rétrograder la version de firebase en 9.2.1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X