Google Play Services GCM 9.2.0 demande de «mettre à jour» vers la version 9.0.0

178

Alors ce matin, j'ai commencé la mise à jour vers la dernière version de mes bibliothèques de projets.

J'essaye de mettre à jour GCM vers la dernière version 9.2.0, mais j'obtiens cette erreur:

Erreur: l'exécution de la tâche «: app: processDebugGoogleServices» a échoué. Veuillez corriger le conflit de version soit 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 mettre à jour la version de com.google.android.gms vers 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'
}

Puis:

dependencies {
    ...

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

    ...
}

Quelqu'un ayant le même problème / résolu le même problème?

Merci.

ÉDITER

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

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

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"
Herrmartell
la source
même problème ici, je suis revenu à 9.0.0
mbonnin
@mbonnin J'ai fini par faire de même. Mais j'aimerais sûrement savoir ce qui se passe ici. Je n'ai pas encore eu la chance de trouver une réponse.
herrmartell
2
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 :-(
mbonnin
6
cela fonctionne si j'applique le plugin à la fin du fichier build.gradle comme Gusthema dit ci
mbonnin
Lisez comment corriger ce problème de la bonne manière dans mon message ici .
Pedro Varela

Réponses:

507

Avez-vous la ligne

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

ligne en bas du fichier build.gradle de votre application?

J'ai vu des erreurs quand c'était en haut et comme c'est écrit ici , ça devrait être en bas.

Gusthema
la source
11
Ce n'est pas vrai, le plugin gms devrait être au bas du fichier comme vous pouvez le voir ici sur la documentation pour gms: développeurs.google.com
android
1
Je me suis trompé. Quoi qu'il en soit, cela ne résoudra pas le problème.
herrmartell le
1
Je ne sais pas pourquoi la première fois que je l'ai essayé, cela n'a pas fonctionné. Je viens de le réessayer à cause du commentaire de @mbonnin, et cela fonctionne maintenant. Je vous remercie.
herrmartell
9
J'avais ajouté cette ligne au début du fichier, mais cela a fonctionné après l'avoir mise en bas.
SHA2NK
2
L'ajout du plugin en bas a résolu le conflit de version.
Pratima
54

Mettez simplement cette ligne au bas du gradlefichier de votre module d'application (et non de la racine du projet) .

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

Puis reconstruisez votre projet.

Vikas
la source
11

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

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

Il existe un autre package dans ma solution car j'ai utilisé plus de choses que l'authentification.

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

  1. Mettez votre package NAME dans la ligne avec les mots applicationId "com.YOUR_PACKAGE_HERE"

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

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

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        applicationId "com.YOUR_PACKAGE_HERE"
        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'
Gustavomcls
la source
6

La même situation était avec les versions précédentes. Il est déconcertant que les nouvelles versions des bibliothèques com.google.android.gms sortent toujours avant le plugin, et il est impossible d'utiliser une nouvelle version car elle est incompatible avec l'ancien plugin. Je ne sais pas si le plugin est maintenant requis (google docs est nul). Je me souviens de moments où ce n'était pas le cas. Le seul moyen 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 elle. Ce que je sais, la caractéristique principale 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 aviez pas besoin, vous pouvez utiliser la version 9.0. 0 version sans aucun problème.

yaneq6
la source
Ah, allez comprendre. Puisqu'il n'y a pas de documentation indiquant le contraire, j'ai supposé que les versions les plus récentes seraient déployées avec le plugin requis. AFAIK, vous avez besoin du plugin pour faire fonctionner GCM, donc je suppose que c'est une solution de vérification manuelle des mises à jour.
herrmartell
1
Bien sûr, @yaneq google docs est nul, j'ai le même problème en ce moment
Lutaaya Huzaifah Idris
5

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

Je change 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'
Rahul Bagal
la source
J'ai eu ce problème également à cause de Firebase, mais je n'aime pas cette solution pour rétrograder la version de Firebase vers 9.2.1
Sam Bellerose
2

Ouvrez à app/build.gradlepartir de votre module d'application et réécrivez ci-dessous la ligne après le bloc de dépendances. Cela permet au plugin de déterminer la version des services Play que vous utilisez

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

J'ai eu cette idée d' ici . Dans ce didacticiel, le deuxième point indique que la ligne du plugin ci-dessus se trouve au bas de votre app/build.gradlefichier afin qu'aucune collision de dépendances ne soit introduite. J'espère que cela vous aidera.

Rahul Sharma
la source
Pourquoi répétez-vous les réponses qui ont été données il y a six mois?
Bevor le
2

Pour l'application Cordova OU Ionic Hybrid

J'ai le problème très similaire avec mon Ionic 1 Cordova Build après l'intégration de Firebase Cloud Messaging (FCM)

J'ai résolu ce problème en suivant les étapes suivantes

Un correctif sera donc: à l'intérieur des plates-formes / android open project.properties (c'est un fichier), vous aurez quelque chose comme ça

cordova.system.library.1=com.google.android.gms:play-services-ads:+
cordova.system.library.2=com.google.firebase:firebase-core:+
cordova.system.library.3=com.google.firebase:firebase-messaging:+

Remplace le

+

Connectez-vous avec votre numéro de version cible - comme suit

cordova.system.library.1=com.google.android.gms:play-services-ads:9.0.0
cordova.system.library.2=com.google.firebase:firebase-core:9.0.0
cordova.system.library.3=com.google.firebase:firebase-messaging:9.0.0

Enregistrez le fichier

Ensuite, prenez build en utilisant

 ionic cordova run android

J'espère que cela fonctionnera pour tout le monde

sijo vijayan
la source
Cela a juste changé l'erreur. C'est plutôt bien car je n'ai reçu que la même erreur même avec des milliers de solutions essayées.
spaceman
2

Ajoutez cette ligne en bas de la note.

appliquer le plugin: 'com.google.gms.google-services'

parce que c'est le haut ça ne fonctionne pas.Je faisais face à un problème similaire.

Mudassir Khan
la source
1

si vous avez également Firebase inclus, faites-en la même version que celle indiquée dans l'erreur.

srlgrg
la source
0

Je n'ai pas eu de problème avec cela jusqu'à ce que j'essaie d'utiliser les services de localisation, auquel cas j'ai dû mettre le apply plugin: 'com.google.gms.google-services'en bas du fichier, plutôt qu'en haut. La raison en est que lorsque vous l'avez en haut, il y a des problèmes de collision, et en le plaçant en bas, vous évitez ces problèmes.

NoirChapeauSamouraï
la source
-1

Votre cible SDKpeut être plus élevée que celle SDKde l'appareil, changez cela. Par exemple, votre appareil exécute l'API 23, mais votre cible SDKest 25. Remplacez 25 par 23.

Mohit Mishra
la source