Après la mise à jour vers Android studio 2.3, le message d'erreur suivant s'affiche… .. Je sais qu'il ne s'agit que d'un indice, car l'application fonctionne normalement, mais c'est vraiment étrange.
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Trouvé versions 25.1.1, 24.0.0. Les exemples incluent com.Android.support:animated-vector-drawable:25.1.1 et com.Android.support:mediarouter-v7:24.0.0
mon grade:
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'
})
testCompile 'junit:junit:4.12'
compile 'com.Android.support:appcompat-v7:25.1.1'
compile 'com.Android.support:support-v4:25.1.1'
compile 'com.Android.support:design:25.1.1'
compile 'com.Android.support:recyclerview-v7:25.1.1'
compile 'com.Android.support:cardview-v7:25.1.1'
compile 'com.google.Android.gms:play-services-maps:10.2.0'
compile 'com.google.Android.gms:play-services:10.2.0'
compile 'io.reactivex.rxjava2:rxjava:2.0.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'com.blankj:utilcode:1.3.6'
compile 'com.orhanobut:logger:1.15'
compile 'com.facebook.stetho:stetho:1.4.2'
provided 'com.google.auto.value:auto-value:1.2'
annotationProcessor 'com.google.auto.value:auto-value:1.2'
annotationProcessor 'com.ryanharter.auto.value:auto-value-parcel:0.2.5'
compile 'com.mikepenz:iconics-core:2.8.2@aar'
compile('com.mikepenz:materialdrawer:5.8.1@aar') { transitive = true }
compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
compile 'me.zhanghai.Android.materialprogressbar:library:1.3.0'
compile 'com.github.GrenderG:Toasty:1.1.1'
compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.8.0'
compile 'com.github.MAXDeliveryNG:slideview:1.0.0'
compile 'com.facebook.fresco:fresco:1.0.1'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.maps.Android:android-maps-utils:0.4.4'
compile 'com.github.jd-alexander:library:1.1.0'
}
Vous pouvez résoudre ce problème avec l’une des solutions suivantes:
Depuis Android studio 3.0, cela devient beaucoup plus facile car il affiche maintenant un indice plus utile, il suffit donc de suivre cet indice.
par exemple:
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même version spécifications (le mélange des versions peut entraîner des plantages). A trouvé versions 27.0.2, 26.1.0. Les exemples comprennent com.Android.support:animated-vector-drawable:27.0.2 et com.Android.support:customtabs:26.1.0
il y a des combinaisons de bibliothèques, ou d'outils et de bibliothèques, qui sont incompatibles ou peuvent conduire à des bugs. Une telle incompatibilité est compiler avec une version des bibliothèques de support Android qui n’est pas la dernière version (ou en particulier une version inférieure à votre targetSdkVersion.)
Solution:
Ajoutez explicitement la bibliothèque avec l'ancienne version mais avec un nouveau numéro de version.
dans mon cas com.Android.support:customtabs:26.1.0
, je dois donc ajouter:
implementation "com.Android.support:customtabs:27.0.2"
c'est-à-dire: prenez la bibliothèque du deuxième élément et implémentez-la avec le numéro de version du premier.
Remarque: n'oubliez pas d'appuyer sur Sync maintenant pour que gradle puisse reconstruire le graphique de dépendance et voir s'il y a d'autres conflits.
Explication:
le message d’erreur pourrait vous dérouter car vous n’utilisez pas customtabs
, c’est pourquoi je suis en conflit !!
eh bien… vous ne l’utilisez pas directement, mais l’une de vos bibliothèques utilise une ancienne version de customtabs
en interne, vous devez donc le demander directement.
si vous êtes curieux de savoir laquelle de vos bibliothèques est responsable de l'ancienne version et demandez peut-être à l'auteur de mettre à jour sa bibliothèque, le rapport de dépendance Exécuter un Gradle, voir l'ancienne réponse pour savoir comment.
Notez ceci
inspiré par CommonsWare answer :
Exécutez un rapport de dépendance Gradle pour voir quelle est votre arborescence complète de dépendances
À partir de là, vous verrez laquelle de vos bibliothèques demande une version différente des bibliothèques de support Android . Quoi qu’elle soit demandée, vous pouvez la demander directement avec la version. Les autres approches de résolution des conflits de Gradle pour obtenir les mêmes versions.
À partir de la version du plugin Gradle: 3.0 compile
a été remplacé par implementation
ou api
voir cette réponse pour la différence.
utilisez donc à la place:
./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
ou pour windows cmd:
gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath
et recherchez la version en conflit.
Pour moi, l'erreur a disparu après la suppression de com.google.Android.gms:play-services:10.2.0
Et n'incluez que com.google.Android.gms:play-services-location:10.2.0
et com.google.Android.gms:play-services-maps:10.2.0
car ce sont les deux seuls services de lecture que j'utilise.
Je pense que le gms:play-services
dépend de certains anciens composants de la bibliothèque de support, nous devons donc les ajouter explicitement nous-mêmes.
pour AS 3.0 un plus vieux.
Courir:
./gradlew -q dependencies <module-name>:dependencies --configuration implementation
Exemple:
./gradlew -q dependencies app:dependencies --configuration implementation
si quelqu'un connaît une meilleure méthode dans le nouveau plugin Gradle, veuillez me le faire savoir.
project/.idea/libraries
sur votre système de fichiers et voyez quelles bibliothèques sont différentes.build.gradle
.Par exemple.:
compile 'com.Android.support:appcompat-v7:25.2.0'
// Wrong library version found on 1st point
compile 'com.Android.support:customtabs:25.2.0'
Faites attention à la petite fenêtre d’information qui dit quelque chose sur l’erreur, elle indique les exemples que vous devez changer et ajoutez .
Dans ce cas:
Versions trouvées 25.1.1, 24.0.0. Les exemples incluent com.Android.support:animated-vector-drawable:25.1.1 et com.Android.support:mediarouter-v7:24.0.0
Votre
com.Android.support:animated-vector-drawable:25.1.1
est la version 25.1.1, et votre
com.Android.support:mediarouter-v7:24.0.0
est la version 24.0.0, vous devez donc ajouter le mediarouter avec la même version:
com.Android.support:mediarouter-v7:25.1.1
Et faites cela pour chaque exemple indiqué par la petite fenêtre d’information, dans ce cas toutes les bibliothèques ne disposant pas de la version 25.1.1.
Vous devez synchroniser le dégradé après avoir corrigé la bibliothèque indiquée pour voir la prochaine bibliothèque et le prochain paquet que vous devez modifier.
IMPORTANT:
Vous pouvez également utiliser une autre méthode pour voir la différence entre les versions de toutes les bibliothèques que vous êtes en train de compiler (comme exécuter un rapport de dépendance de niveaux ou accéder à vos fichiers de bibliothèques), l'objectif réel est de compiler toutes les bibliothèques que vous êtes. en utilisant avec la même version .
Ajoutez ceci à la toute fin de votre build.gradle (Module: app):
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.1'
}
}
}
}
Assurez-vous de remplacer "25 .3.1" par la version de la bibliothèque de support Android que vous souhaitez utiliser pour toutes les dépendances. Elle ne doit pas être inférieure à votre version de sdk complile
que re sync gradle
Le meilleur moyen de résoudre le problème est de mettre en œuvre tous les 'com.Android.support: ...' suggérés par le studio Android
(peu importe les versions de support que vous utilisez - 27.1.1, 28.0.0, etc.)
placez le curseur sur la ligne d'erreur, par exemple:
implementation 'com.Android.support:appcompat-v7:28.0.0'
Le studio Android vous suggérera quelle version de 'com.Android.support: ...' est différente de celle de '.
exemple
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Trouvé versions 28.0.0, 27.1.0, 27.0.2. Les exemples incluent com.Android.support:animated- vector-drawable:28.0.0 et com.Android.support:exifinterface:27.1.0
alors ajoutez com.Android.support:animated-vector-drawable:28.0.0
& com.Android.support:exifinterface:28.0.0
. synchronise maintenant le fichier de niveaux.
un par un, essayez de mettre en œuvre tous les suggestions 'com.Android.support: ...' jusqu'à ce qu'il n'y ait pas d'erreur dans cette ligne implementation 'com.Android.support:appcompat-v7:28.0.0'
Dans mon cas, j'ai ajouté
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support:animated-vector-drawable:28.0.0'
implementation 'com.Android.support:exifinterface:28.0.0'
implementation 'com.Android.support:cardview-v7:28.0.0'
implementation 'com.Android.support:customtabs:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
implementation 'com.Android.support:support-v4:28.0.0'
toutes ces dépendances ... ça pourrait être différent pour les autres.
J'ai eu exactement le même problème après la mise à jour vers Android Studio 2.3
Ajouter cette ligne aux dépendances a résolu mon problème:
compile 'com.Android.support:customtabs:25.2.0'
A) Exécutez gradle dependencies
ou ./gradlew dependencies
B) Examinez votre arborescence et déterminez laquelle de vos dépendances spécifie une version différente de la bibliothèque de support pour une dépendance que vous ne contrôlez pas.
Je n'avais pas réalisé que cet avertissement s'affiche également si la dépendance est complètement inutilisée directement par votre propre code. Dans mon cas, Facebook spécifie certaines bibliothèques de support que je n'utilisais pas. Vous pouvez voir ci-dessous que la plupart de ces dépendances ont été remplacées par ma propre spécification 25.2.0, indiquée par les symboles -> X.X.X (*) . La vue des cartes et les bibliothèques personnalisées ne sont remplacées par personne. Je dois donc demander 25.2.0 pour celles-ci moi-même, même si je ne les utilise pas.
+--- com.facebook.Android:facebook-Android-sdk:4.17.0
| +--- com.Android.support:support-v4:25.0.0 -> 25.2.0 (*)
| +--- com.Android.support:appcompat-v7:25.0.0 -> 25.2.0 (*)
| +--- com.Android.support:cardview-v7:25.0.0
| | \--- com.Android.support:support-annotations:25.0.0 -> 25.2.0
| +--- com.Android.support:customtabs:25.0.0
| | +--- com.Android.support:support-compat:25.0.0 -> 25.2.0 (*)
| | \--- com.Android.support:support-annotations:25.0.0 -> 25.2.0
| \--- com.parse.bolts:bolts-Android:1.4.0 (*)
Si gradle vous a déjà prévenu et vous a donné des exemples ...
Les exemples incluent com.Android.support:animated-vector-drawable:25.1.1 et com.Android.support:mediarouter-v7:24.0.0
... c'est encore plus facile si vous ajoutez de la surbrillance grep pour la version inférieure, car gradle dependencies
peut être très prolixe:
./gradlew dependencies | grep --color -E 'com.Android.support:mediarouter-v7|$'
Use variables: effectuez les opérations suivantes, ce qui vous permettra de vous assurer que vous utilisez la même version avec toutes les bibliothèques.
dependencies {
ext {
support_library_version = '25.2.0'
google_play_services_version = '10.2.0'
}
//#####################################################################
// Support Library
//#####################################################################
compile "com.Android.support:appcompat-v7:${support_library_version}"
compile "com.Android.support:palette-v7:${support_library_version}"
compile "com.Android.support:design:${support_library_version}"
//#####################################################################
// Google Play Services
//#####################################################################
compile "com.google.Android.gms:play-services-auth:${google_play_services_version}"
compile "com.google.Android.gms:play-services-ads:${google_play_services_version}"
compile "com.google.Android.gms:play-services-analytics:${google_play_services_version}"
//#####################################################################
// Firebase
//#####################################################################
compile "com.google.firebase:firebase-core:${google_play_services_version}"
compile "com.google.firebase:firebase-auth:${google_play_services_version}"
compile "com.google.firebase:firebase-messaging:${google_play_services_version}"
Vous trouverez plus d'informations sur la façon dont Google suggère de gérer ce contrôle de version dans cet article: https://developer.Android.com/studio/build/index.html#top-level
Je viens d'ajouter ceci:
compile 'com.Android.support:mediarouter-v7:25.2.0'
Updated
pour les nouvelles versions du SDK
compile 'com.Android.support:mediarouter-v7:28.0.0-alpha3'
Si la même erreur est sur appcompat
implementation 'com.Android.support:appcompat-v7:27.0.1'
puis en ajoutant design
résolu.
implementation 'com.Android.support:appcompat-v7:27.0.1'
implementation 'com.Android.support:design:27.0.1'
Pour moi, ajouter
implementation 'de.mrmaffen:vlc-Android-sdk:2.0.6'
incluait appcompat-v7:23.1.1
dans
.idea/bibliothèques
sans vlc
, appcompat
seul suffit.
Comme vous avez déjà vu toutes les réponses et commentaires ci-dessus, mais cette réponse consiste à effacer quelque chose qu'un nouveau développeur pourrait ne pas obtenir facilement.
./gradlew -q dépendances app: dépendances --configuration compile
La ligne ci-dessus vous sauvera la vie sans aucun doute, mais comment obtenir le point exact du résultat de la ligne ci-dessus.
Lorsque vous obtenez le tableau ou la liste de toutes les dépendances à partir de la commande ci-dessus, vous devez rechercher le numéro de version en conflit que vous obtenez dans votre code. s'il vous plaît voir l'image ci-dessous.
dans l'image ci-dessus, vous pouvez voir que 23.4.0 est à l'origine du problème, mais nous ne pouvons pas le trouver dans notre fichier gradle. Alors maintenant, ce numéro de version (23.4.0) nous sauvera. Lorsque nous aurons ce numéro, nous le trouverons dans le résultat du résultat de la commande ci-dessus et importerons directement cette dépendance directement dans notre fichier gradle. S'il vous plaît voir l'image ci-dessous pour obtenir la vue claire.
vous pouvez clairement voir que com.Android.support:cardview-v7:23.4.0 et com.Android.support:customtabs:23.4.0 utilisent la version à l'origine du problème. Il suffit maintenant de copier ces lignes de la liste de dépendances .__ et de les utiliser explicitement dans notre fichier Gradle mais avec le lien de la version mise à jour
implementation "com.Android.support:cardview-v7:26.1.0" implémentation "com.Android.support:customtabs:26.1.0"
Une autre façon de résoudre les conflits consiste simplement à forcer la version correcte pour toutes les dépendances comme celle-ci:
dependencies {
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'com.Android.support' && details.requested.name == 'support-v4') {
details.useVersion "27.0.2"
}
}
...
}
https://docs.gradle.org/current/userguide/customizing_dependency_resolution_behavior.html
Utilisez support-v13 au lieu de support-v4
compile 'com.Android.support:support-v13:25.2.0'
J'ai eu la même erreur après avoir ajouté compile 'com.google.Android.gms:play-services:10.2.4'
avec la compilation 'com.Android.support:appcompat-v7:25.3.1'
.
L'ajout de animated-vector-drawable
et mediarouter libs
a résolu le problème.
compile 'com.google.Android.gms:play-services:10.2.4'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:animated-vector-drawable:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'
J'ai eu ceci:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.google.firebase:firebase-auth:12.0.1'
implementation 'com.google.firebase:firebase-firestore:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.Android.gms:play-services-auth:12.0.1'
implementation'com.facebook.Android:facebook-login:[4,5)'
implementation 'com.Twitter.sdk.Android:Twitter:3.1.1'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
implementation 'org.jetbrains:annotations-Java5:15.0'
implementation project(':vehiclesapi')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}
La solution était facile - les dépendances primaires étaient toutes correctes, donc les feuilles - toutes les dépendances de tiers. Supprimé un par un jusqu'à trouver le coupable, et s'avère être Facebook! son utilisation de la version 27.0.2 des bibliothèques de support Android. J'ai essayé d'ajouter la version 27.1.1 de cardview mais cela ne fonctionnait pas non plus, la solution était encore assez simple.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.1'
implementation 'com.Android.support:design:27.1.1'
implementation 'com.Android.support:support-v4:27.1.1'
implementation 'com.google.firebase:firebase-auth:12.0.1'
implementation 'com.google.firebase:firebase-firestore:12.0.1'
implementation 'com.google.firebase:firebase-messaging:12.0.1'
implementation 'com.google.Android.gms:play-services-auth:12.0.1'
implementation('com.facebook.Android:facebook-login:[4,5)'){
// contains com.Android.support:v7:27.0.2, included required com.Android.support.*:27.1.1 modules
exclude group: 'com.Android.support'
}
implementation 'com.Android.support:cardview-v7:27.1.1' // to replace facebook sdk's cardview-v7:27.0.2.
implementation 'com.Twitter.sdk.Android:Twitter:3.1.1'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
implementation 'org.jetbrains:annotations-Java5:15.0'
implementation project(':vehiclesapi')
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
}
Mon problème est similaire au vôtre . Il existe une erreur!
compile 'com.Android.support:appcompat-v7:25.3.0'
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Trouvé versions 25.3.0, 24.0.0. Les exemples incluent 'com.Android.support:animated-vector-drawable:25.3.0' et 'com.Android.support:mediarouter-v7:24.0.0'
Voir ceci Exemples: 'com.Android.support:animated-vector-drawable:25.3.0' et 'com.Android.support:mediarouter-v7:24.0.0'
le juste ajouter ces codes dans les dépendances, assurez-vous que les versions sont les mêmes.
compile 'com.Android.support:animated-vector-drawable:25.3.0'
compile 'com.Android.support:mediarouter-v7:25.3.0'
J'ai eu le même problème avant et j'ai eu la solution.
Je viens d'ajouter les bibliothèques qui avaient une autre version mais la même version de mon support:appcompat
.
Pour votre erreur par exemple:
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même version spécifications (le mélange des versions peut entraîner des plantages). A trouvé versions 25.1.1, 24.0.0. Les exemples comprennent com.Android.support:animated-vector-drawable:25.1.1 et com.Android.support:mediarouter-v7:24.0.0
* La solution consiste à compiler les versions de ces bibliothèques de la manière suivante:
compile 'com.Android.support:mediarouter-v7:25.1.1'
-si une autre bibliothèque avait le même problème et avait une autre version, compilez-la avec votre version support:appcompat
Cela a résolu mon problème et j'espère que cela résoudra le vôtre.
Meilleurs vœux :)
J'ai utilisé ces deux solutions pour résoudre mon problème après la mise à niveau vers Android Studio 2.3.
compile 'com.Android.support:animated-vector-drawable:25.0.0'
compile 'com.Android.support:mediarouter-v7:25.0.0'
Après avoir cherché et combiné les réponses, version 2018 de cette question et cela a fonctionné pour moi:
1) Dans l'onglet de navigation, changez-le en vue de projet
2) Naviguez vers [VotreNomProjet] /. Idea/libraries/
3) Supprimez tous les fichiers commençant par Gradle__com_Android_support_ [Nom de la bibliothèque].
E.g: Gradle__com_Android_support_animated_vector_drawable_26_0_0.xml
4) Dans votre fichier gradle, définissez une variable et utilisez-la pour remplacer le numéro de version tel que $ {nomVariable}
Def variable:
ext {
support_library_version = '28.0.0' //use the version of choice
}
Utiliser la variable:
implementation "com.Android.support:cardview-v7:${support_library_version}"
exemple de grade:
dependencies {
ext {
support_library_version = '28.0.0' //use the version of choice
}
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation "com.Android.support:animated-vector-drawable:${support_library_version}"
implementation "com.Android.support:appcompat-v7:${support_library_version}"
implementation "com.Android.support:customtabs:${support_library_version}"
implementation "com.Android.support:cardview-v7:${support_library_version}"
implementation "com.Android.support:support-compat:${support_library_version}"
implementation "com.Android.support:support-v4:${support_library_version}"
implementation "com.Android.support:support-core-utils:${support_library_version}"
implementation "com.Android.support:support-core-ui:${support_library_version}"
implementation "com.Android.support:support-fragment:${support_library_version}"
implementation "com.Android.support:support-media-compat:${support_library_version}"
implementation "com.Android.support:appcompat-v7:${support_library_version}"
implementation "com.Android.support:recyclerview-v7:${support_library_version}"
implementation "com.Android.support:design:${support_library_version}"
}
mise à jour en 2018 pour cette erreur, ajout de l'implémentation à partir de la structure du projet
implementation 'com.Android.support:support-v13:28.0.0'
en mode projet -> Bibliothèques externes vous pouvez trouver votre problème, dans mon cas J'utilise la version 28 et les bibliothèques externes que j'ai trouvées com.Android.support:support-media-compat-26.0.0
et voici l'erreur.
après l'implémentation support v13
et ça marche
Vous avez défini toute autre dépendance à compiler avec la version 24.0.0
au lieu de 25.1.1
. Veuillez définir la même version de toutes les dépendances que 25.1.1
.
J'ai le même problème, mais j'ai résolu le problème en ajoutant Ces trois lignes
implementation 'com.Android.support:design:27.1.1'
implementation "com.Android.support:customtabs:27.1.1"
implementation 'com.Android.support:mediarouter-v7:27.1.1'
maintenant tout fonctionne parfaitement
Voici mon flux pour résoudre cet avertissement
build.gradle
Android {
compileSdkVersion ... // must same version (ex: 26)
...
}
dependencies {
...
compile 'any com.Android.support... library' // must same version (ex: 26.0.1)
compile 'any com.Android.support... library' // must same version (ex: 26.0.1)
...
compile ('a library B which don't use 'com.Android.support...' OR use SAME version of 'com.Android.support'){
// do nothing
}
...
compile ('a library C which use DIFFERENT 'com.Android.support...' (ex:27.0.1) {
// By default, if use don't do anything here your app will choose the higher com.Android.support... for whole project (in this case it is 27.0.1)
// If you want to use 26.0.1 use
exclude group: 'com.Android.support', module: '...' (ex module: 'appcompat-v7')
exclude group: 'com.Android.support', module: 'another module'
...
// If you want to use 27.0.1 do
Upgrade `compileSdkVersion` and all 'com.Android.support' to 27.0.1.
(It may be a good solution because the best practice is always use latest `compileSdkVersion`.
However, use 26 or 27 is base on you for example higher library may have bug)
}
}
Pour afficher/vérifier la dependencies
de toutes les bibliothèques de votre application
Ouvrez le terminal et lancez ./gradlew app:dependencies
Pour afficher la dependencies
d'une bibliothèque spécifique dans votre application, suivez le tutoriel ici: - Comment exclure les dépendances d'une dépendance particulière dans Gradle
J'espère que ça aide
J'ai exécuté ./gradlew tasks --all et vérifié les dépendances qui étaient une version différente de la version ciblée (25.3.1). Vous obtiendrez quelque chose comme ça:
app:prepareComAndroidSupportAnimatedVectorDrawable2531Library - Prepare com.Android.support:animated-vector-drawable:25.3.1
app:prepareComAndroidSupportAppcompatV72531Library - Prepare com.Android.support:appcompat-v7:25.3.1
app:prepareComAndroidSupportCardviewV72531Library - Prepare com.Android.support:cardview-v7:25.3.1
app:prepareComAndroidSupportCustomtabs2531Library - Prepare com.Android.support:customtabs:25.3.1
app:prepareComAndroidSupportDesign2531Library - Prepare com.Android.support:design:25.3.1
app:prepareComAndroidSupportMediarouterV72531Library - Prepare com.Android.support:mediarouter-v7:25.3.1
app:prepareComAndroidSupportPaletteV72531Library - Prepare com.Android.support:palette-v7:25.3.1
app:prepareComAndroidSupportRecyclerviewV72531Library - Prepare com.Android.support:recyclerview-v7:25.3.1
app:prepareComAndroidSupportSupportCompat2531Library - Prepare com.Android.support:support-compat:25.3.1
app:prepareComAndroidSupportSupportCoreUi2531Library - Prepare com.Android.support:support-core-ui:25.3.1
app:prepareComAndroidSupportSupportCoreUtils2531Library - Prepare com.Android.support:support-core-utils:25.3.1
app:prepareComAndroidSupportSupportFragment2531Library - Prepare com.Android.support:support-fragment:25.3.1
app:prepareComAndroidSupportSupportMediaCompat2531Library - Prepare com.Android.support:support-media-compat:25.3.1
app:prepareComAndroidSupportSupportV42531Library - Prepare com.Android.support:support-v4:25.3.1
app:prepareComAndroidSupportSupportVectorDrawable2531Library - Prepare com.Android.support:support-vector-drawable:25.3.1
app:prepareComAndroidSupportTransition2531Library - Prepare com.Android.support:transition:25.3.1
app:prepareComAndroidVolleyVolley100Library - Prepare com.Android.volley:volley:1.0.0
app:prepareComCrashlyticsSdkAndroidAnswers1312Library - Prepare com.crashlytics.sdk.Android:answers:1.3.12
app:prepareComCrashlyticsSdkAndroidBeta124Library - Prepare com.crashlytics.sdk.Android:beta:1.2.4
app:prepareComCrashlyticsSdkAndroidCrashlytics267Library - Prepare com.crashlytics.sdk.Android:crashlytics:2.6.7
app:prepareComCrashlyticsSdkAndroidCrashlyticsCore2316Library - Prepare com.crashlytics.sdk.Android:crashlytics-core:2.3.16
app:prepareComFacebookAndroidFacebookAndroidSdk4161Library - Prepare com.facebook.Android:facebook-Android-sdk:4.16.1
app:prepareComGoogleAndroidGmsPlayServicesAnalytics1026Library - Prepare com.google.Android.gms:play-services-analytics:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAnalyticsImpl1026Library - Prepare com.google.Android.gms:play-services-analytics-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuth1026Library - Prepare com.google.Android.gms:play-services-auth:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesAuthBase1026Library - Prepare com.google.Android.gms:play-services-auth-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBase1026Library - Prepare com.google.Android.gms:play-services-base:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesBasement1026Library - Prepare com.google.Android.gms:play-services-basement:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesCast1026Library - Prepare com.google.Android.gms:play-services-cast:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesLocation1026Library - Prepare com.google.Android.gms:play-services-location:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesMaps1026Library - Prepare com.google.Android.gms:play-services-maps:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTagmanagerV4Impl1026Library - Prepare com.google.Android.gms:play-services-tagmanager-v4-impl:10.2.6
app:prepareComGoogleAndroidGmsPlayServicesTasks1026Library - Prepare com.google.Android.gms:play-services-tasks:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalytics1026Library - Prepare com.google.firebase:firebase-analytics:10.2.6
app:prepareComGoogleFirebaseFirebaseAnalyticsImpl1026Library - Prepare com.google.firebase:firebase-analytics-impl:10.2.6
app:prepareComGoogleFirebaseFirebaseAppindexing1024Library - Prepare com.google.firebase:firebase-appindexing:10.2.4
app:prepareComGoogleFirebaseFirebaseCommon1026Library - Prepare com.google.firebase:firebase-common:10.2.6
app:prepareComGoogleFirebaseFirebaseCore1026Library - Prepare com.google.firebase:firebase-core:10.2.6
app:prepareComGoogleFirebaseFirebaseIid1026Library - Prepare com.google.firebase:firebase-iid:10.2.6
app:prepareComGoogleFirebaseFirebaseMessaging1026Library - Prepare com.google.firebase:firebase-messaging:10.2.6
app:prepareComMindorksPlaceholderview027Library - Prepare com.mindorks:placeholderview:0.2.7
app:prepareDebugAndroidTestDependencies
app:prepareDebugDependencies
app:prepareDebugUnitTestDependencies
app:prepareInfoHoang8fAndroidSegmented105Library - Prepare info.hoang8f:Android-segmented:1.0.5
app:prepareIoFabricSdkAndroidFabric1316Library - Prepare io.fabric.sdk.Android:fabric:1.3.16
app:prepareNoNordicsemiAndroidLog211Library - Prepare no.nordicsemi.Android:log:2.1.1
app:prepareNoNordicsemiAndroidSupportV18Scanner100Library - Prepare no.nordicsemi.Android.support.v18:scanner:1.0.0
Dans ce cas, je ciblais 25.3.1 et j'avais des dépendances ciblant différentes versions lorsque j'ai exécuté cette commande. L'astuce consiste à identifier les dépendances de cette liste qui ciblent les versions précédentes et à les remplacer en important la version la plus récente de la dépendance dans Gradle.
Assurez-vous que toutes les dépendances du SDK Facebook utilisent la même version de bibliothèque de support de votre projet:
dependencies {
// Facebook SDK dependencies, excluding Bolts
compile "com.Android.support:appcompat-v7:25.4.0"
compile "com.Android.support:cardview-v7:25.4.0"
compile "com.Android.support:customtabs:25.4.0"
compile "com.Android.support:design:25.4.0"
compile "com.facebook.Android:facebook-Android-sdk:4.23.0"
}
Même problème après la mise à jour vers Android Studio 2.3, le correctif consistait à ajouter le package suivant dans le build.gradle
:
compile 'com.Android.support:support-v13:25.3.1'
Remarque: Modifiez la version pour qu'elle corresponde aux autres packages de bibliothèque de support utilisés dans votre projet.
Ouvrez la bibliothèque externe de votre projet, vous verrez que certaines bibliothèques utilisent encore la version précédente bien que vous n’ayez pas mentionné ces bibliothèques. Je suggère donc d’utiliser la version de la bibliothèque particulière pour ceux qui vont résoudre votre problème.
J'ai dû ajouter les lignes suivantes en dégradé pour supprimer l'erreur
compile 'com.Android.support:animated-vector-drawable:25.2.0'
compile 'com.Android.support:preference-v7:25.2.0'
compile 'com.Android.support:customtabs:25.2.0'
compile 'com.Android.support:cardview-v7:25.2.0'
Mettez en surbrillance l'erreur et appuyez sur "ALT + ENTRÉE", vous verrez une option pour:
Ajouter une dépendance à la bibliothèque> Modifier les paramètres d'intention
Cela vous mènera à un menu dans lequel vous verrez la dépendance à un problème spécifique qui diffère de celle de support. Créez sa dépendance dans Gradle (com 'XXX') et réglez sa version sur celle de support-compat. Synchronisez et vous avez terminé.
Pour moi, l'erreur est due à une bibliothèque tierce que j'ai importée et qui utilisait des modules plus anciens de la bibliothèque de support de Google. Je les ai simplement mis à jour avec la dernière version (vérification sur Github par exemple), et l'erreur avait disparu. Je suggère de vérifier que toutes les bibliothèques autres que Google que vous avez incluses dans votre build.gradle
sont à jour.
implementation 'com.Android.support:appcompat-v7:26.1.0'
après cette ligne, vous devez ajouter une nouvelle ligne dans votre titre
implementation 'com.Android.support:design:26.1.0'
Je viens de mettre à jour mon référentiel de support Android sur (révision: 44.0.0).
J'ai eu ces dépendances dans mon projet:
implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
implementation 'com.Android.support:support-v4:28.0.0'
implementation 'com.Android.support:design:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
implementation 'com.google.Android.gms:play-services-maps:16.1.0'
implementation 'com.google.firebase:firebase-database:17.0.0'
implementation 'com.google.firebase:firebase-storage:17.0.0'
implementation 'com.google.firebase:firebase-messaging:18.0.0'
implementation 'com.firebaseui:firebase-ui-storage:0.6.0'
Jusqu'à présent, rien ne semblait faux, mais j'ai reçu ce message:
Trouvé versions 28.0.0, 23.4.0. Les exemples incluent com.Android.support:animated-vector-drawable:28.0.0 et com.Android.support:palette-v7:23.4.
Puis j'ai fait:
$ ./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath >> dep.txt
Dans le fichier, j’ai cherché palette et découvert qu’il était utilisé par le stockage firebase:
\--- com.firebaseui:firebase-ui-storage:0.6.0
+--- com.Android.support:appcompat-v7:23.4.0 -> 28.0.0 (*)
+--- com.Android.support:palette-v7:23.4.0
Après avoir ajouté:
implementation 'com.Android.support:palette-v7:28.0.0'
Semble résolu, et pas plus d'erreur.
//À votre santé
J'ai eu ce problème après la mise à jour vers Android Studio 2.3
L'ajout de ces lignes dans les dépendances a résolu mon problème
compile 'com.Android.support:customtabs:25.2.0'
compile 'com.Android.support:palette-v7:25.2.0'
remplacez ceci
compile 'com.Android.support:appcompat-v7:25.2.0'
par ça
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'
reconstruire et bien coder
Si vous rencontrez un problème après avoir implémenté toutes les nouvelles bibliothèques mentionnées ci-dessous. Je faisais face au même problème mentionné ci-dessus sur cette version compatible 'com.Android.support:appcompat-v7:27.1.0'
.
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:design:27.1.0'
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support:mediarouter-v7:27.1.0'
implementation 'com.Android.support:recyclerview-v7:27.1.0'
implementation 'com.Android.support:cardview-v7:27.1.0'
implementation 'com.Android.support:support-v13:27.1.0'
implementation 'com.Android.support:support-v4:27.1.0'
Je viens de remplacer This
'com.Android.support:appcompat-v7:27.1.0'
pour ça
'com.Android.support:appcompat-v7:27.0.1'
ajouter ces dépendances au niveau de l'application
implementation 'com.Android.support:asynclayoutinflater:28.0.0'
implementation 'com.Android.support:exifinterface:28.0.0'
implementation 'com.Android.support:animated-vector-drawable:28.0.0'
implementation 'com.Android.support:support-media-compat:28.0.0'
implementation 'com.Android.support:support-v4:28.0.0'
Pour moi, j'ai résolu l'erreur en ajoutant: compile 'com.Android.support:design:<version>'
Essayez de rendre les outils de construction exactement la même version de la bibliothèque de support
exemple
Android {
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.itechnologyeg.*******"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
dependencies {
compile 'com.Android.support:appcompat-v7:25.0.0'
compile 'com.Android.support:animated-vector-drawable:25.0.0'
compile 'com.Android.support:mediarouter-v7:25.0.0'
compile 'com.Android.support:recyclerview-v7:25.0.0'
compile 'com.Android.support:cardview-v7:25.0.0'
compile 'com.Android.support:design:25.0.0'
}
Une autre chose qui pourrait causer ce problème est si vous avez des déclarations comme celle-ci:
compile 'com.Android.support:support-v4:25.3.1'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:recyclerview-v7:+'
Ce +
signifie que vous prenez la dernière version, qui pourrait être une version ultérieure au 25.3.1
. Remplacez le +
par la version spécifique comme 25.3.1
comme ceci:
compile 'com.Android.support:support-v4:25.3.1'
compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:recyclerview-v7:25.3.1'
et cela résoudra le problème
Le problème peut être résolu en utilisant la méthode suivante:
AndroidManifest.xml
.Android:value
dans le meta-data
, alors c'est l'endroit pour faire ce changement.build.gradle
.Copiez simplement la version qui est inférieure à la version actuelle et ajoutez-la explicitement avec le même numéro de version que la version actuelle.
Exemple
Trouvé versions 27.1.1, 27.1.0. Les exemples incluent com.Android.support:animated- vector-drawable:27.1.1 et com.Android.support:exifinterface:27.1.0
Copiez simplement la version com.Android.support:exifinterface:27.1.0
et remplacez-la par com.Android.support:exifinterface:27.1.1
afin qu'elle devienne égale à la version actuelle que vous utilisez et ajoutez-la à vos dépendances de gradle comme suit.
implementation 'com.Android.support:exifinterface:27.1.1'
Remarque: Une fois que vous avez terminé, n'oubliez pas de cliquer sur Sync now en haut de l'éditeur.
J'ai fait face à ce problème après la mise à niveau vers Android Studio 3.4 et la version SDK vers 28.0.0. L'application ci-dessous dépendance a résolu le problème pour moi.
implementation 'com.Android.support:exifinterface:28.0.0'
Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version (le mélange de versions peut entraîner des pannes à l'exécution). Trouvé versions 25.1.1, 24.0.0. Les exemples incluent com.Android.support:animated-vector-drawable:25.1.1 et com.Android.support:mediarouter-v7:24.0.0
Cet avertissement se produit généralement lorsque nous utilisons les services Google Play, car ils utilisent des bibliothèques de support comme dépendances.
La plupart d'entre nous ne savaient pas que nous pouvons remplacer les bibliothèques de support utilisées dans les services Google Play . Lorsque nous utilisons la dépendance suivante:
implementation "com.Android.support:animated-vector-drawable:25.1.1"
cela dépend implicitement de com.Android.support:mediarouter-v7:25.1.1
. Mais il est en conflit avec la dépendance du service Google Play qui est com.Android.support:mediarouter-v7:24.0.0
. Nous devons donc le remplacer en utilisant explicitement la bibliothèque avec:
implementation "com.Android.support:mediarouter-v7:25.1.1"
Ensuite, votre bloc de dépendances inclura les deux comme ceci:
dependencies {
implementation "com.Android.support:animated-vector-drawable:25.1.1"
implementation "com.Android.support:mediarouter-v7:25.1.1"
...
}
J'ai réussi à compiler (pas très propre) en ajoutant
J'ai dû ajouter les lignes suivantes dans Gradle pour supprimer l'erreur Cela dépend de la version que vous utilisez, même que appcompat.
compile 'com.Android.support:appcompat-v7:26+'
compile 'com.Android.support:mediarouter-v7:26+'
Il suffit simplement de forcer toutes les bibliothèques v7 et v4 à utiliser la version de bibliothèque que vous avez définie juste avant vos dépendances.
configurations.all {
// To resolve the conflict for com.Android.databinding
// dependency on support-v4:21.0.3
resolutionStrategy.force 'com.Android.support:support-v4:28.0.0'
resolutionStrategy.force 'com.Android.support:support-v7:28.0.0'
}
Mon problème est résolu Ajouter les dernières dépendancesimplementation 'com.google.firebase:firebase-auth:16.0.4'
Après avoir passé environ 5 heures, cette solution a fonctionné pour moi.
Ajoutez d’abord cette ligne à votre balise manifeste si vous n’avez pas encore:
xmlns:tools="http://schemas.Android.com/tools"
Exemple:
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.winanainc"
Android:versionCode="3"
Android:versionName="1.2"
xmlns:tools="http://schemas.Android.com/tools">
Ajoutez ensuite cette balise META dans votre application pour écraser la version de vos outils de construction.
<application>
...
..
<meta-data
tools:replace="Android:value"
Android:name="Android.support.VERSION"
Android:value="25.3.1" />
</application>
Ajoutez simplement // noinspection GradleCompatible:
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
//noinspection GradleCompatible
implementation 'com.Android.support:appcompat-v7:28.0.0'
Il n'y a qu'un moyen ... et vous devez le faire manuellement ... Allez à build.gradle check affectez toutes les dépendances aux mêmes versions ...__ et cela devrait fonctionner ..
Cette erreur est due à la bibliothèque de glissement. Essayez Picasso ou d’autres bibliothèques d’images