43 votes

Comment réparer l'erreur google play service

Aujourd'hui, après avoir mis à jour les services de lecture dans le dossier racine, je suis confronté au problème suivant. Je ne sais pas comment le résoudre.

Quelqu'un peut-il m'aider à résoudre ce problème ?

Cette erreur est très irritante. Je ne sais pas où est le conflit. D'ailleurs, pourquoi ce conflit apparaît-il alors qu'aucune version n'est reliée entre elles ?

Error :

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

build.gradle script :

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

android {
configurations.all {
    resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
    applicationId "community.infinity"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    multiDexEnabled true
}
aaptOptions {
    cruncherEnabled = false
}
dexOptions {
    preDexLibraries false
    javaMaxHeapSize "4g"
}
buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard- android.txt'), 'proguard-rules.pro'
    }
    debug {
        ext.enableCrashlytics = false
    }
}

compileOptions {
    targetCompatibility 1.8
    sourceCompatibility 1.8
}

}

 dependencies {

implementation 'com.google.firebase:firebase-core:15.0.0'
implementation 'com.google.firebase:firebase-messaging:15.0.0'
implementation fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support'
    exclude module: 'support-annotations'
    exclude module: 'support-v4'
    exclude module: 'support-v13'
    exclude module: 'recyclerview-v7'
    exclude group: 'com.android.support', module: 'appcompat-v7'
})
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'de.hdodenhof:circleimageview:2.1.0'
implementation 'com.adamstyrc.cookiecutter:cookie-cutter:1.0.2'
implementation 'com.allattentionhere:fabulousfilter:0.0.5'
implementation 'com.github.florent37:diagonallayout:1.0.6'
implementation 'com.flaviofaria:kenburnsview:1.0.7'
implementation 'com.vstechlab.easyfonts:easyfonts:1.0.0'
implementation 'com.google.code.gson:gson:2.8.0'
implementation 'com.github.pwittchen:swipe:0.1.0'
implementation 'com.thesurix.gesturerecycler:gesture-recycler:1.4.0'
implementation 'com.github.iammert:MaterialIntroView:1.6.0'
implementation 'com.github.oxoooo:touch-image-view:1.0.1'
implementation 'com.github.deano2390:MaterialShowcaseView:1.2.0'
implementation 'com.squareup.okhttp:okhttp-urlconnection:1.6.0'
implementation('io.socket:socket.io-client:0.8.3') {
    // excluding org.json which is provided by Android
    exclude group: 'org.json', module: 'json'
}
implementation 'com.google.gms:google-services:3.3.0'
implementation 'com.iceteck.silicompressorr:silicompressor:2.1'
implementation 'com.fenchtose.nocropper:nocropper:0.2.0'
implementation 'me.relex:circleindicator:1.2.2@aar'
implementation('com.google.guava:guava:23.4-android') {
    exclude group: 'com.android.support'
    exclude module: 'support-annotations'
    exclude module: 'support-v4'
    exclude module: 'support-v13'
    exclude module: 'recyclerview-v7'
    exclude group: 'com.android.support', module: 'appcompat-v7'
}
implementation 'com.github.amlcurran.showcaseview:library:5.4.3'
implementation 'com.orhanobut:hawk:2.0.1'
implementation 'com.zsoltsafrany:needle:1.0.0'
implementation 'com.github.madrapps:pikolo:1.1.6'
implementation 'jp.wasabeef:richeditor-android:1.2.2'
implementation 'com.android.support:palette-v7:27.1.1'
testImplementation 'junit:junit:4.12'
implementation('com.github.bumptech.glide:glide:4.4.0') {
    transitive = true
}
implementation ("com.github.bumptech.glide:recyclerview-integration:4.4.0")   {
    // Excludes the support library because it's already included by Glide.
    transitive = false
}
annotationProcessor 'com.github.bumptech.glide:compiler:4.4.0'
implementation 'com.android.support:multidex:1.0.3'
implementation "me.leolin:ShortcutBadger:1.1.21@aar"
implementation 'com.hbb20:ccp:2.1.2'

}

0 votes

39voto

Khemraj Points 8449

L'une de vos dépendances possède une version différente de com.google.android.gms .

Mise à jour

Les dépendances de Firebase ont des versions indépendantes contrairement au passé. Si vous avez des conflits de version, vous pouvez mettre à jour votre com.google.gms:google-services . et commencer à définir une version.

Mise à jour com.google.gms:google-services

Allez au niveau supérieur (projet) de build.gradle et mettez à jour com.google.gms:google-services à la version 4.1.0 ou plus récent si disponible .

buildscript {
    ...
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath 'com.google.gms:google-services:4.1.0' //< update this 
    }
}

Mettre à jour les dépendances de Firebase pour Dernières versions

Les versions des dépendances de Firebase peuvent être individuelles. Vérifiez donc Dernières versions .

com.google.firebase:firebase-core:16.0.3    //Analytics
com.google.firebase:firebase-database:16.0.2    //Realtime Database

Solution originale (utile)

Méthodes de résolution :

  1. Exclure com.google.android.gms de la dépendance conflictuelle.
  2. Mettre à jour cette dépendance si disponible .
  3. Changez votre com.google.android.gms version comme version conflictuelle.

Problème

comment voir quelle dépendance utilise com.google.android.gms ?

1. Solution par commande

Pour Android, utilisez cette ligne

 gradle app:dependencies

ou si vous avez un wrapper gradle :

./gradlew app:dependencies

app est votre module de projet.

De plus, si vous voulez vérifier si quelque chose est compile vs. testCompile vs androidTestCompile ainsi que ce qui l'attire :

./gradlew :app:dependencyInsight --configuration compile --dependency <name>
./gradlew :app:dependencyInsight --configuration testCompile --dependency <name>
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency <name>

2 Utilisez ces plugins

Vue Gradle est un plugin Android Studio que vous pouvez installer et qui affiche la hiérarchie des dépendances. Méthodes Compter est un autre plugin, il montre aussi l'arbre des dépendances.

0 votes

Methods Count a été fermé et n'est donc plus en mesure de fournir des comptes de méthodes de bibliothèque nouveaux ou mis à jour.

0 votes

Les SDK Android de Firebase ont désormais des numéros de version indépendants, ce qui permet des mises à jour plus fréquentes et plus souples.

0 votes

Il est préférable d'utiliser la dernière version des dépendances de firebase pour se débarrasser de ce problème.

17voto

Akshay Italiya Points 164

Essayez ceci, ça marche pour moi.

Ajoutez ceci dans votre build.gradle fin du fichier

com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true

Avec le service google play. Version 4.3.0

googleServices.disableVersionCheck = true

0 votes

Ça a marché pour moi, j'ai résolu 8 erreurs de dépendance transitive avec ça

6 votes

Avec la version 4.3.0 et supérieure du plugin Google Play services, utilisez googleServices.disableVersionCheck = true

0 votes

@Akshay J'utilise le code ci-dessus mais j'obtiens ERROR : Plugin with id 'com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true' not found. Can you suggest me why i coming

6voto

Gabriele Mariotti Points 7243

Firebase Android SDKs ont maintenant des numéros de version indépendants ce qui permet des mises à jour plus fréquentes et plus souples.

Mettre à jour la version du plugin google play gradle à la dernière version, actuellement 3.3.0.

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

et mettez à jour les bibliothèques dans le nouvelle version .

Firebase Core   com.google.firebase:firebase-core:15.0.2
Ads             com.google.firebase:firebase-ads:15.0.0
Analytics       com.google.firebase:firebase-analytics:15.0.2
App Indexing    com.google.firebase:firebase-appindexing:15.0.0
Authentication  com.google.firebase:firebase-auth:15.1.0
Cloud Firestore com.google.firebase:firebase-firestore:16.0.0
Cloud Functions com.google.firebase:firebase-functions:15.0.0
Cloud Messaging com.google.firebase:firebase-messaging:15.0.2
Cloud Storage   com.google.firebase:firebase-storage:15.0.2
Crash Reporting com.google.firebase:firebase-crash:15.0.2
Crashlytics     com.crashlytics.sdk.android:crashlytics:2.9.1
Invites         com.google.firebase:firebase-invites:15.0.2
Performance Monitoring  com.google.firebase:firebase-perf:15.1.0
Realtime Database   com.google.firebase:firebase-database:15.0.0
Remote Config   com.google.firebase:firebase-config:15.0.2

Aussi comme signalé utiliser au moins la version 15.0.2 :

Vous devrez mettre à jour la version de cette dernière dépendance à 15.0.2. Cela résout le problème pour lequel la version 3.3.0 du plugin Google Services Gradle rapporte : La bibliothèque com.google.Android.gms:play-services-measurement-base est demandée par diverses autres bibliothèques à [[15.0.0,15.0.0], [15.0.2,15.0.2]], mais se résout à 15.0.2...

1 votes

Que voulez-vous dire par use at least the version 15.0.2 ? ! Par exemple, il existe des bibliothèques dont la dernière version est 15.0.1 tels que play-services-location:15.0.1 .

3voto

Mahmoud Felfel Points 1504

Pour moi, j'ai dû mettre à jour com.google.android.gms:play-services-base à la version 15.0.1 au lieu de 15.0.0 .

implementation "com.google.android.gms:play-services-base:15.0.1"

1 votes

@holydragon dans le fichier gradle de votre application, dans la rubrique dependencies

2voto

zfromg Points 155

Les composants Firebase peuvent désormais avoir des versions indépendantes (voir les dernières notes de version : https://firebase.google.com/support/release-notes/Android )

Ce qui se passe probablement, c'est que l'une de vos autres dépendances tire de multiples versions de vos dépendances com.google.firebase:* au-delà de vos dépendances explicites sur .

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

Vous pouvez peut-être résoudre ce problème spécifique en déplaçant votre dépendance de firebase-messaging vers 15.0.2.

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