com.google.android.gms: play-services-measure-base est demandé par diverses autres bibliothèques

173

J'ai mis à jour vers gradle 4.0.1 et j'ai commencé à recevoir l'erreur suivante

La bibliothèque com.google.android.gms: play-services-measure-base est demandée par diverses autres bibliothèques à [[15.0.4,15.0.4]], mais se résout en 15.0.2. Désactivez le plugin et vérifiez votre arborescence de dépendances en utilisant ./gradlew: app: dependencies.

Mon projet n'utilise pas cette dépendance, je l'ai donc recherchée globalement, et elle n'apparaît qu'à l'intérieur

build / intermediates / lint-cache / maven.google / com / google / android / gms / group-index.xml

comme cette ligne

<play-services-measurement-base versions="15.0.0,15.0.2"/>

J'ai donc essayé de supprimer mon dossier de construction et de nettoyer le projet, mais il le régénère avec les mêmes valeurs: / par conséquent, l'erreur persiste

Ilja
la source
Résolu ici: Moi aussi j'ai rencontré le même problème en essayant d'ajouter des crashlytics dans Firebase. S'il vous plaît mettre à jour la dernière version des dépendances pour com.google.android.gms: play-services et com.google.firebase: ...... . Il résoudra automatiquement les problèmes
Priya Rajan
J'avais la dernière version et j'ai eu cette erreur si rétrogradée à 15.0.1 et cela a fonctionné!
landrykapela
Veuillez accéder à ce numéro et le mettre en étoile. Il semble qu'il y ait beaucoup de problèmes car il y avait beaucoup de bibliothèques non publiées de jCenter.
Patricio Sard

Réponses:

173

Le problème réel est abordé dans la note de publication du 23 mai de https://developers.google.com/android/guides/releases#may_23_2018

Fondamentalement, vous devez déplacer toutes les bibliothèques Play Services et Firebase vers leur dernière version ( qui peut être différente pour chacun depuis la version 15 ). Vous pouvez utiliser https://mvnrepository.com/ pour trouver la dernière version de chaque bibliothèque.

Voir aussi: https://firebase.google.com/support/release-notes/android#20180523

Nico
la source
5
maven.google.com convient également pour rechercher les versions publiées de ces bibliothèques.
PaulR
52
LifeSaver. Google devrait rationaliser cette gestion des versions. It's a pain
Dibzmania
1
Votre réponse m'a aidé à comprendre cela. Mais j'ai dû utiliser cet article pour obtenir les versions correctes incluses dans mon projet et surmonter les erreurs.
Jacob Joel du
12
J'ai utilisé la dernière version de toutes les bibliothèques mais l'erreur persiste.
Étudiant
2
Si vous mettez à jour toutes les bibliothèques avec leurs dernières versions respectives, vous obtenez un avertissement indiquant «Toutes les bibliothèques gms / firebase doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des plantages d'exécution).» Est-ce prévu? Comment résolvez-vous cela ainsi que le problème d'origine?
user3369427
86

seule solution de travail pour moi:

placez-le en bas de build.gradle

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
htw
la source
10
Pour moi, cette solution cache le message, qui est ensuite déclenché d'une autre manière: "La dépendance Android 'com.google.android.gms: play-services-Measurement-base' a une version différente pour la compilation (15.0.4) et le runtime ( 16.0.0) classpath. Vous devez définir manuellement la même version via DependencyResolution "
ARLabs
C'est la seule solution qui a fonctionné pour moi. Même avec toutes les bibliothèques Gradle à jour.
Neri
Cela fonctionne, mais utilisez-le en dernier recours. J'ai synchronisé toutes les versions de Google Play et Firebase, mais une bibliothèque a refusé d'accepter cette version (elle a été codée en dur pour ne nécessiter qu'une et une seule version spécifique).
pmont
Voici une blague, Firebase Android SDKs now have independent version numbers, allowing for more frequent, flexible updates..
Kimi Chiu
18
c'est le pire que l'on puisse faire; ignorer le problème n'est pas une «solution».
Martin Zeitler
31

Assurez-vous de conserver les dépendances de vos services Google Play et Firebase à la dernière version.

Vérifiez également tous vos fichiers gradle, le niveau du module et le niveau du projet, il ne doit y avoir qu'une seule version commune de la dépendance dans tous les modules. Peut être résolu en conservant ces versions dans la variable gradle au niveau du projet.

Vérifiez ici la version de mise à jour des services Google Play

Derniers services Google Play

Vérifiez ici la version mise à jour de Firebase

Firebase Dernières

Vérifiez ici la version mise à jour de Firebase pour Android

Firebase Android Dernières

abitcode
la source
c'était utile. Utilisation de react-native et a dû mettre à jour les packages que nous utilisions au plus tard dans ces liens.
publicknowledge
Cela peut arriver même si vous ne dépendez que d'une seule bibliothèque Google! Voir ma réponse pour savoir pourquoi (très ancien plugin Android Gradle).
NateS
13

j'ai mis à jour

implementation 'com.google.android.gms:play-services-analytics:16.0.3'

Et ça fonctionne pour moi

Amine M'hamed
la source
1
Je vous remercie. J'ai fait la même chose, ça marche très bien.
Nguyễn Anh Tuấn
1
où dois-je mettre cette ligne?
Anand_5050
dans android / app / build.gradle @ Anand_5050
Swati
9

changer mon build.gradlepour ce qui suit a fonctionné pour moi:

ext {
  googlePlayServicesVersion   = "15.0.1"
}

allprojects {
  repositories {
      mavenLocal()
      maven { url 'http://maven.google.com' }
      jcenter { url "http://jcenter.bintray.com/" }
      google()
      maven {
        // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
        url "$rootDir/../node_modules/react-native/android"
      }

      configurations.all {
        resolutionStrategy {
            force "com.google.android.gms:play-services-basement:$googlePlayServicesVersion"
            force "com.google.android.gms:play-services-tasks:$googlePlayServicesVersion"
        }
      }
  }
}
mk7danny
la source
merci, cela m'a été utile et a résolu mon erreur. atleast m'a donné des indications pour les prochaines erreurs que je les ai mises dans la même résolutionStratégie
Danois
Pour clarifier, il ajoute le ext {...}bloc pour forcer la version qui résout le problème
Aaron
7

Dans mon cas, l'utilisation des dernières versions de ce qui suit a dependenciesrésolu mon problème:

'com.google.android.gms:play-services-analytics:16.0.1'
'com.google.android.gms:play-services-tagmanager:16.0.1'
Murat
la source
5

Cela peut arriver si votre plugin Android Gradle est très ancien, même si vous n'utilisez qu'une seule bibliothèque Google! Apparemment, toutes les bibliothèques Google devaient être exactement de la même version. Maintenant, ils n'ont plus besoin d'être les mêmes, seulement les derniers. Lorsque vous spécifiez ne serait-ce qu'une seule bibliothèque, il extrait des dépendances là où les versions ne correspondent pas et l'ancien plugin Android Gradle émet des cris.

Définissez une version plus récente comme:

buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

Vous devrez peut-être mettre à jour votre Gradle pour utiliser le nouveau plugin (il vous le dira).

NateS
la source
3

La seule solution qui fonctionne pour moi (trouvé quelque part dans SOF) (ne pas avoir le lien) est:

dans le top principal build.grale

allprojects {

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.google.android.gms'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "x.y.z"
            }
        }
    }
}
Issamux
la source
3
maintenant, j'obtiens une erreur différenteThe library com.google.firebase:firebase-analytics is being requested by various other libraries at [[16.0.3,16.0.3]], but resolves to 16.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.
Eric Kim
3

Ajouter à la liste de vos dépendances. Maintenant, vous devez l'avoir pour le bon fonctionnement de toutes les dépendances de Firebase:

implementation 'com.google.firebase:firebase-core:16.0.1'
PavelGP
la source
3

J'ai eu le même problème

Assurez-vous simplement que vous disposez des dernières versions de toutes les dépendances. J'ai utilisé les versions actuelles pour Firebase core et auth. Les nouvelles versions ont des corrections de bogues.

Vous pouvez obtenir les dernières versions d'ici: https://firebase.google.com/support/release-notes/android

Utilisation de la dernière version à l'heure actuelle:

dans app / build.gradle:

dependencies {
implementation 'com.google.firebase:firebase-core:16.0.6'
implementation 'com.google.firebase:firebase-auth:16.1.0'
}
shellym
la source
3

Un problème similaire s'est posé avec moi lorsque j'ai essayé d'ajouter Firebase Database à mon projet.

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.3'

Le problème peut être résolu en rétrogradant ou en mettant à niveau les deux versions à un niveau similaire. J'ai donc rétrogradé la base de données Firebase à

implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'

et ça a marché! Toutes les versions disponibles peuvent être recherchées sur ce site: https://mvnrepository.com/

Mur d'agar Harshit
la source
1
A travaillé pour moi après avoir recherché de nombreux articles. Une erreur se produisait lors de l'ajout de la base de données Firebase. Merci
gauravsngarg
2

Vous pouvez trouver la bibliothèque tirant cette dépendance en utilisant:

$ ./gradlew app:dependencies
Nico
la source
3
Cela ne fonctionne pas, il crache simplement la même erreur sans graphique de dépendance.
jasonhudgins
3
vous devez supprimer le plugin apply: ligne 'com.google.gms.google-services' avant d'essayer ceci pour éviter d'afficher une erreur
Kata Lune
1
J'ai désactivé le plugin et vérifié les dépendances. Mais il n'y avait aucune bibliothèque qui avait une dépendance à 15.0.4 comme indiqué dans l'exceptionThe library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[15.0.4,15.0.4], [16.0.0,16.0.0]], but resolves to 16.0.0.
miszmaniac
1
@miszmaniac J'ai eu exactement le même problème. Déclassement à la fois play-services-analyticset firebase-coreà 16.0.0résoudre la question.
NoHarmDan
Ce nouveau système de versions non égales pour la bibliothèque Firebase est une tragédie pour le moment. Hier, nous avons eu un crash aléatoire au démarrage de l'application, car firebase n'a pas pu init () pour une raison étrange ... nous avons dû désactiver (dans le manifeste) firebase-perf pour pouvoir supprimer le crash
miszmaniac
2

J'avais une erreur The library com.google.android.gms:play-services-measurement-base is being requested by various other libraries at [[16.0.2,16.0.2]], but resolves to 16.0.0. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.

L'exécution ./gradlew :app:dependenciesrévélera quelles dépendances nécessitent de mauvaises dépendances (celles entre crochets). Pour moi, le problème venait de firebase-core: 16.0.3 comme indiqué ci-dessous. Je l'ai corrigé en rétrogradant firebase-core à 16.0.1

+--- com.google.firebase:firebase-core:16.0.3
|    +--- com.google.firebase:firebase-analytics:16.0.3
|    |    +--- com.google.android.gms:play-services-basement:15.0.1
|    |    |    \--- com.android.support:support-v4:26.1.0 (*)
|    |    +--- com.google.android.gms:play-services-measurement-api:[16.0.1] -> 16.0.1
|    |    |    +--- com.google.android.gms:play-services-ads-identifier:15.0.1
|    |    |    |    \--- com.google.android.gms:play-services-basement:[15.0.1,16.0.0) -> 15.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-basement:15.0.1 (*)
|    |    |    +--- com.google.android.gms:play-services-measurement-base:[16.0.2] -> 16.0.2
Eric Kim
la source
2

Pour moi, cette erreur est apparue après l'intégration de Crashlytics via Firebase, en raison d'un conflit de versions entre

implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.android.gms:play-services-location:15.0.1'

J'ai d'abord essayé de rétrograder Firebase Core vers 15.0.1, mais il semble qu'il n'y en ait pas, seulement 15.0.0et 15.0.2! Au lieu de cela, j'ai dû rétrograder les deux vers la version 15.0.0, alors j'ai fini avec

implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.android.gms:play-services-location:15.0.0'

Alors maintenant, cela fonctionne, mais je reçois ces avertissements ennuyeux de Lint sur les nouvelles versions disponibles. Cette débâcle de la gestion des versions est un gâchis freakin '.

Magnus W
la source
1

Je tombais sur ce problème et j'ai remarqué que les notes de publication mentionnaient:

Firebase requiert désormais que le fichier gradle de l'application répertorie explicitement com.google.firebase: firebase-core en tant que dépendance pour que les services Firebase fonctionnent comme prévu.

Créer firebase-coreune dépendance d'application (ainsi qu'une dépendance de bibliothèque) a résolu ce problème pour moi.

Tad
la source
1

1. Ouvrez build.gradle au niveau du projet

Mettez com.google.gms:google-servicesà jour la version à la dernière. Suivre la dernière version . Au moment de la réponse, la dernière est 4.1.0.

2. Ouvrez build.gradle au niveau de l'application

Mettez à jour ci-dessous la dépendance si vous en utilisez. Notez que Firebase a maintenant des versions individuelles pour chaque dépendance.

Utilisez les dernières bibliothèques Firebase . Au moment de la réponse, les dernières versions sont ci-dessous.

Firebase Core                com.google.firebase:firebase-core:16.0.3
Ads                          com.google.firebase:firebase-ads:15.0.1
Analytics                    com.google.firebase:firebase-analytics:16.0.3
App Indexing                 com.google.firebase:firebase-appindexing:16.0.1
Authentication               com.google.firebase:firebase-auth:16.0.3
Cloud Firestore              com.google.firebase:firebase-firestore:17.1.0
Cloud Functions              com.google.firebase:firebase-functions:16.1.0
Cloud Messaging              com.google.firebase:firebase-messaging:17.3.2
Cloud Storage   c            om.google.firebase:firebase-storage:16.0.2
Crash Reporting              com.google.firebase:firebase-crash:16.2.0
Crashlytics                  com.crashlytics.sdk.android:crashlytics:2.9.5
Dynamic Links                com.google.firebase:firebase-dynamic-links:16.1.1
Invites                      com.google.firebase:firebase-invites:16.0.3
In-App Messaging             com.google.firebase:firebase-inappmessaging:17.0.1
In-App Messaging Display     com.google.firebase:firebase-inappmessaging-display:17.0.1
ML Kit: Model Interpreter    com.google.firebase:firebase-ml-model-interpreter:16.2.0
ML Kit: Vision               com.google.firebase:firebase-ml-vision:17.0.0
ML Kit: Image Labeling       com.google.firebase:firebase-ml-vision-image-label-model:15.0.0
Performance Monitoring       com.google.firebase:firebase-perf:16.1.0
Realtime Database            com.google.firebase:firebase-database:16.0.2
Remote Config                com.google.firebase:firebase-config:16.0.0

Synchroniser et construire ...

Khemraj
la source
1

J'ai remarqué que les journaux de débogage mentionnent l'ancienne version de firebase-analytics (16.0.0). L'ajout explicite de la dernière version a résolu le problème:

implementation "com.google.firebase:firebase-analytics:16.0.3"
fumer
la source
1

Mettez à jour toutes vos dépendances avec la dernière version et cela résoudra le problème.

Pas besoin d'ajouter
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Cela entraînera des plantages si vous utilisez des versions mixtes.

RakeshGupta
la source
1

Je suppose que l'erreur suivante est due aux différentes versions des dépendances de Firebase. Pour moi, changer la version de toutes les dépendances que j'implémente sur mon projet en 16.0.1, a fonctionné comme un charme.

Pour moi, l'erreur a été créée par la ligne: com.google.firebase:firebase-auth:16.0.2

Et je l'ai changé en: com.google.firebase:firebase-auth:16.0.1

Et cela a fonctionné .. J'espère que cela aide.

Vipin George
la source
1

Dans mon cas, cela résout le problème:

implementation 'com.google.android.gms:play-services-analytics:16.0.1'
Kishore Reddy
la source
1

Dans mon cas, j'ai remplacé mon fichier build.gradle cette ligne

implementation 'com.google.firebase:firebase-core:16.0.8'

avec

implementation 'com.google.firebase:firebase-core:15.0.0' 

et a ajouté cette ligne

implementation 'com.google.android.gms:play-services-location:15.0.0'

Maintenant c'est bien

Maddu Swaroop
la source
1

J'ai un problème similaire qui a été résolu par:

  1. Au niveau de l'application: mettez à jour toutes les dépendances de Firebase vers la dernière version la plus récente
  2. Au niveau du projet gradle: mettez à jour la dépendance à la dernière:, gms.google-servicesDans mon cas, c'était: 'com.google.gms: google-services: 4.2.0'
tabebqena
la source
c'est là que réside la magie. Toutes les dépendances dans l'application / build.gradle, puis le fichier build.gradle le plus élevé mettent à jour toutes les dépendances
leeCoder
1

J'ai changé les dépendances suivantes dans mon projet pour le faire fonctionner.

build.gradle (application):

implementation 'com.google.firebase:firebase-core:16.0.1'

à

implementation 'com.google.firebase:firebase-core:16.0.8'

build.gradle (application):

classpath 'com.google.gms:google-services:4.0.1'

à

classpath 'com.google.gms:google-services:4.2.0'

**** Remarque :

Utilisez le lien suivant pour une utilisation mise à jour des bibliothèques qui ont des dépendances https://firebase.google.com/docs/android/setup

Muhammad Ali
la source
1

Utilisez la version mise à jour de Firebase et évitez les extras. C'est suffisant (mais si vous avez besoin d'utiliser de l'espace de stockage ou .. vous devez les ajouter aussi)

//FIREBASE
implementation 'com.google.firebase:firebase-core:17.2.0'
 implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
//ADMob
implementation 'com.google.android.gms:play-services-ads:18.2.0'
//PUSH NOTIFICATION
implementation 'com.google.firebase:firebase-messaging:20.0.0'
implementation 'com.google.firebase:firebase-core:17.2.0'

et mettez à jour les google-services:

 classpath 'com.google.gms:google-services:4.3.2'
sana ebadi
la source
Merci d'utiliser ces versions pour résoudre mon problème.
SriTeja Chilakamarri le
0

Si le message est:

La bibliothèque com.google.android.gms: play-services-measure-base est demandée par diverses autres bibliothèques à [[15.0.4,15.0.4]], mais se résout en 15.0.2 . Désactivez le plugin et vérifiez votre arborescence de dépendances en utilisant ./gradlew: app: dependencies.

Remplacez la version de toutes les bibliothèques de services de lecture que vous utilisez par celle dont vous avez besoin ( 15.0.2 dans ce cas) pourrait résoudre le problème.

Dans mon cas, j'ai changé:

implementation 'com.google.android.gms:play-services-base:+' -> implementation 'com.google.android.gms:play-services-base:15.0.2'
implementation 'com.google.android.gms:play-services-location:+' -> implementation 'com.google.android.gms:play-services-location:15.0.2'
implementation 'com.google.android.gms:play-services-maps:+' -> implementation 'com.google.android.gms:play-services-maps:15.0.2'
implementation 'com.google.android.gms:play-services-auth:+' -> implementation 'com.google.android.gms:play-services-auth:15.0.2'
implementation 'com.google.android.gms:play-services-places:+' -> implementation 'com.google.android.gms:play-services-places:15.0.2'
José Q
la source
0

Résolu ici: Moi aussi j'ai rencontré le même problème en essayant d'ajouter des crashlytics dans Firebase. S'il vous plaît mettre à jour la dernière version des dépendances pour com.google.android.gms: play-services et com.google.firebase: ...... . Cela résoudra automatiquement les problèmes

Priya Rajan
la source
0

J'ai eu le même problème lorsque j'ai essayé d'ajouter l'implémentation de la base de données firebase, si j'ai commenté cette ligne, cela fonctionne, donc après quelques essais, je suis allé sur https://firebase.google.com/docs/android/setup

Là, j'ai vérifié les versions des bibliothèques disponibles et mon firebase-core était à 16.0.1 (la version actuelle est 16.0.4) donc je l'ai changé manuellement et cela a bien fonctionné, la construction et la synchronisation ont réussi.

Anibal
la source
0

Dans mon cas, je supprime simplement

implementation "com.google.android.gms:play-services-ads:16.0.0

et ajoutez des dépendances d'annonces Firebase

implementation 'com.google.firebase:firebase-ads:17.1.2'
code4rox
la source
0

Eu le même problème. Vous devez supprimer les deux points: après la version dans le gradle (c'est un bug).

Ces paramètres ont fonctionné pour moi:

implementation 'com.google.firebase:firebase-firestore:17.1.5'

Définissez également multiDexEnabled sur true dans le gradle (si vous obtenez l'erreur DexOverflowException):

    android {
        compileSdkVersion 27
..
            multiDexEnabled true
        }
l'amour en direct
la source