web-dev-qa-db-fra.com

Toutes les bibliothèques com.Android.support doivent utiliser exactement la même spécification de version.

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

 enter image description here

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'
}
669
humazed

Vous pouvez résoudre ce problème avec l’une des solutions suivantes:

Mettre à jour:

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:1]

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 


Ancienne réponse:

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.


Mettre à jour:

À 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.

783
humazed
  1. Accédez au dossier project/.idea/libraries sur votre système de fichiers et voyez quelles bibliothèques sont différentes.
  2. Vous devrez inclure manuellement ces bibliothèques avec la même version dans votre fichier build.gradle.
  3. Ensuite, synchronisez votre projet.

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'
195

Pour tous les cas, pas seulement pour ces versions ou bibliothèques:

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:

Si vous n'utilisez pas explicitement une ou plusieurs bibliothèques spécifiées et que l'erreur est générée, cela signifie que celle-ci est utilisée en interne par une autre bibliothèque, compilez-la explicitement de toute façon.

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 .

141
Brandon Zamudio

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

88
ezzou

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.

72
Adarsh Vijayan P

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'
53

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|$'
44
Daniel Wilson

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

31
Daniel F

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'
25
Mohsen mokhtari

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.

19
Prabs

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.

 enter image description here

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"

17
anoopbryan2

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

13
Gainder

Utilisez support-v13 au lieu de support-v4

compile 'com.Android.support:support-v13:25.2.0'
12
Mehmet Hanoğlu

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'
9
Sandeep

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

et a cette erreur:  enter image description here

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'
9
Yanbin Hu

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 :)

8
Hesham Morsy

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'
8
Aparajita Sinha

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}"

}
6
Ali Karaca

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

6
Alwayss Bijoy

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.

6
Sneh Pandya

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

6
Hamza Rahman

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

6
Linh

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.

6
Matt W

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"
}
5
JP Ventura

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.

5
Vahid Amiri

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.

5
Subho

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'
5
Shrikant

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é.

5
Raymond Wachaga

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.

5
Octocat
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'
5
Aleem Momin

Je viens de mettre à jour mon référentiel de support Android sur (révision: 44.0.0).

5
Ajit Thapa

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é

4
stargazer_94

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'
4
Kathirva

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

4

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'
3
badarshahzad

inclure la ligne suivante:

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

Assurez-vous que vous utilisez le plug-in Android studio 3+

 enter image description here

3
Shrirang

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'
3
Mohammad Maaz

Pour moi, j'ai résolu l'erreur en ajoutant: compile 'com.Android.support:design:<version>'

3
Haya Akkad

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'
}
3
Mohammed Shady

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

3
Yonatan Nir

Le problème peut être résolu en utilisant la méthode suivante:

  1. Ouvrez votre fichier AndroidManifest.xml.
  2. Cliquez sur l'option Manifest fusionné en bas
  3. Sur le côté droit, il affichera Autres fichiers manifestes . Voici les fichiers de manifeste distincts pour les différentes dépendances que vous avez incluses ou ont été incluses en raison de l’effet de certaines autres dépendances.
  4. Découvrez la dépendance mentionnée dans votre message d'erreur. Cliquez dessus pour ouvrir son fichier manifeste.
  5. Si votre message d'erreur dit de changer l'attribut Android:value dans le meta-data, alors c'est l'endroit pour faire ce changement.
  6. Modifiez la valeur et les autres emplacements où ce numéro de version ne correspond pas et modifiez-le avec la version que vous avez incluse dans le fichier build.gradle.
  7. Maintenant synchronisez le projet et vous êtes prêt à partir
3
Devansh Maurya

Très simple avec la nouvelle version du studio Android 3.x.

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.  

2
Muhammad

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'
2
Shaon

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

image description here

2
Croid

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+'
1

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'
                }
1
Remy

Mon problème est résolu Ajouter les dernières dépendancesimplementation 'com.google.firebase:firebase-auth:16.0.4'

1
Prathamesh More

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>
1
akaMahesh

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'
0
Ramesh R

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 ..

0
Shubham Soni

Cette erreur est due à la bibliothèque de glissement. Essayez Picasso ou d’autres bibliothèques d’images

0
Ashok Chowdary