web-dev-qa-db-fra.com

Android studio play-services-ads: 12.0.1 est en conflit avec appcompat-v7: 27.1.0

Je suis en train de construire une application avec Google ADS sdk et cela fonctionnait bien jusqu’à aujourd’hui, j’ai été informé de la mise à jour du studio Android. Parallèlement, j’ai également proposé de mettre à jour Gradle vers la version 4.4 et toutes les versions de la bibliothèque de support vers 27.1.0.

implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.google.Android.gms:play-services-ads:12.0.1'

Ensuite, j'ai eu l'erreur Gradle disant que la dépendanceAndroid 'com.Android.support:support-v4' avait une version différente pour le classpath compile (26.1.0) et runtime (27.1.0). Vous devez définir manuellement la même version via DependencyResolution

J'ai cherché mon code et il n'y a pas un seul mot qui puisse correspondre à "26.1.0". J'ai également essayé de supprimer tout le cache build/gradle mais je ne parviens toujours pas à résoudre ce problème. J'utilise donc gradlew.bat -q dépendances pour découvrir qu'il semble que la bibliothèque ADS ait une dépendance incorrecte.

ces deux lignes sont très méfiantes:

+--- com.Android.support:support-v4:26.1.0
+--- com.Android.support:support-media-compat:26.1.0

Comparaison avec d'autres paramètres de dépendance

+--- project :MyAdsProject
+--- com.Android.support:appcompat-v7:27.1.0
|    +--- com.Android.support:support-annotations:27.1.0
|    +--- com.Android.support:support-core-utils:27.1.0
|    |    +--- com.Android.support:support-annotations:27.1.0
|    |    \--- com.Android.support:support-compat:27.1.0
|    |         +--- com.Android.support:support-annotations:27.1.0
|    |         \--- Android.Arch.lifecycle:runtime:1.1.0
|    |              +--- Android.Arch.lifecycle:common:1.1.0
|    |              \--- Android.Arch.core:common:1.1.0
|    +--- com.Android.support:support-fragment:27.1.0
|    |    +--- com.Android.support:support-compat:27.1.0 (*)
|    |    +--- com.Android.support:support-core-ui:27.1.0
|    |    |    +--- com.Android.support:support-annotations:27.1.0
|    |    |    +--- com.Android.support:support-compat:27.1.0 (*)
|    |    |    \--- com.Android.support:support-core-utils:27.1.0 (*)
|    |    +--- com.Android.support:support-core-utils:27.1.0 (*)
|    |    +--- com.Android.support:support-annotations:27.1.0
|    |    +--- Android.Arch.lifecycle:livedata-core:1.1.0
|    |    |    +--- Android.Arch.lifecycle:common:1.1.0
|    |    |    +--- Android.Arch.core:common:1.1.0
|    |    |    \--- Android.Arch.core:runtime:1.1.0
|    |    |         \--- Android.Arch.core:common:1.1.0
|    |    \--- Android.Arch.lifecycle:viewmodel:1.1.0
|    +--- com.Android.support:support-vector-drawable:27.1.0
|    |    +--- com.Android.support:support-annotations:27.1.0
|    |    \--- com.Android.support:support-compat:27.1.0 (*)
|    \--- com.Android.support:animated-vector-drawable:27.1.0
|         +--- com.Android.support:support-vector-drawable:27.1.0 (*)
|         \--- com.Android.support:support-core-ui:27.1.0 (*)
\--- com.google.Android.gms:play-services-ads:12.0.1
     +--- com.google.Android.gms:play-services-ads-lite:12.0.1
     |    +--- com.google.Android.gms:play-services-basement:12.0.1
     |    |    +--- com.Android.support:support-v4:26.1.0
     |    |    |    +--- com.Android.support:support-compat:26.1.0 -> 27.1.0 (*)
     |    |    |    +--- com.Android.support:support-media-compat:26.1.0
     |    |    |    |    +--- com.Android.support:support-annotations:26.1.0 -> 27.1.0
     |    |    |    |    \--- com.Android.support:support-compat:26.1.0 -> 27.1.0 (*)
     |    |    |    +--- com.Android.support:support-core-utils:26.1.0 -> 27.1.0 (*)
     |    |    |    +--- com.Android.support:support-core-ui:26.1.0 -> 27.1.0 (*)
     |    |    |    \--- com.Android.support:support-fragment:26.1.0 -> 27.1.0 (*)
     |    |    \--- com.google.Android.gms:play-services-basement-license:12.0.1
     |    \--- com.google.Android.gms:play-services-ads-lite-license:12.0.1
     +--- com.google.Android.gms:play-services-basement:12.0.1 (*)
     +--- com.google.Android.gms:play-services-gass:12.0.1
     |    +--- com.google.Android.gms:play-services-basement:12.0.1 (*)
     |    \--- com.google.Android.gms:play-services-gass-license:12.0.1
     \--- com.google.Android.gms:play-services-ads-license:12.0.1

Est-ce que quelqu'un comment se débarrasser de cela? ADS 12.0.1 est déjà la version la plus récente.

4
Robin

Dans votre niveau d'application build.gradle:

Android {
    configurations.all {
        resolutionStrategy.force 'com.Android.support:support-v4:27.1.1'
    }
}

Cela indiquera à votre configuration de gradée de choisir et d'appliquer de manière forcée support-v4:27.1.1 partout où il est importé!

J'espère que cela t'aides!

5
Sneh Pandya

Je peux résoudre ce problème en ajoutant ceci sur mes dépendances

implementation 'com.Android.support:support-v4:28.0.0'

OR

ajouter ce code sur votre graduation app

Android {
    configurations.all {
        resolutionStrategy.force 'com.Android.support:support-v4:28.0.0'
    }
}
0
Rifat