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.
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!
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'
}
}