it-swarm.com.ru

Все библиотеки com.Android.support должны использовать одинаковую спецификацию версии

После обновления до Android studio 2.3 я получил это сообщение об ошибке. Я знаю, что это просто подсказка, поскольку приложение работает нормально, но это действительно странно.

Все библиотеки com.Android.support должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения). Найдено версии 25.1.1, 24.0.0. Примеры включают com.Android.support:animated-vector-drawable:25.1.1 и com.Android.support:mediarouter-v7:24.0.0

enter image description here

мой gradle:

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:[email protected]'
    compile('com.mikepenz:materialdrawer:[email protected]') { transitive = true }
    compile 'com.mikepenz:google-material-typeface:[email protected]'
    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'
}
742
humazed

Вы можете решить эту проблему с помощью одного из следующих решений:

Обновление:

Начиная с Android Studio 3.0, это становится намного проще, так как теперь он показывает более полезный совет, поэтому нам нужно только следовать этому совету.
например:1]

Все библиотеки com.Android.support должны использовать одну и ту же версию спецификация (смешивание версий может привести к сбоям во время выполнения). Найденный версии 27.0.2, 26.1.0. Примеры включают com.Android.support:animated-vector-drawable:27.0.2 и com.Android.support:customtabs:26.1.0

есть несколько комбинаций библиотек или инструментов и библиотек, которые несовместимы или могут привести к ошибкам. Одной из таких несовместимостей является компиляция с версией библиотек поддержки Android, которая не является последняя версия (или, в частности, версия ниже, чем ваша targetSdkVersion.)

Решение:
Добавить явно библиотеку со старой версией, но с новым номером версии.
в моем случае com.Android.support:customtabs:26.1.0, поэтому мне нужно добавить: 

implementation "com.Android.support:customtabs:27.0.2"  

то есть: взять библиотеку из второго элемента и реализовать ее с номером версии из первого.

Примечание: не забудьте нажать синхронизацию сейчас, чтобы gradle мог перестроить граф зависимостей и посмотреть, есть ли еще конфликты.

Объяснение:
Вы можете быть смущены сообщением об ошибке, так как не используйте customtabs, так как у меня конфликт !!
ну .. вы не использовали его напрямую, но одна из ваших библиотек внутри использует старую версию customtabs, поэтому вам нужно запросить ее напрямую. 

если вам интересно узнать, какая из ваших библиотек отвечает за старую версию, и, возможно, попросите автора обновить свою библиотеку, запустите отчет о зависимостях Gradle, посмотрите старый ответ, чтобы узнать как.

Обратите внимание на это 


Старый ответ:

вдохновлен CommonsWare ответ :

Запустите отчет о зависимостях Gradle, чтобы увидеть, каково ваше полное дерево Зависимостей.

Оттуда вы увидите, какая из ваших библиотек запрашивает другую версию библиотек поддержки Android . За все, что она запрашивает, вы можете запросить ее непосредственно с версией 25.2.0 или использовать Другие подходы Gradle к разрешению конфликтов позволяют получить те же версии.


Обновление:

Начиная с версии плагина Gradle: 3.0 compile был заменен на implementation или api, см. этот ответ для различия.

следовательно используйте вместо этого:

./gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

или для windows cmd: 

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath

и искать конфликтующую версию.

Для меня ошибка исчезла после удаления com.google.Android.gms:play-services:10.2.0

И включайте только com.google.Android.gms:play-services-location:10.2.0 и com.google.Android.gms:play-services-maps:10.2.0, поскольку они являются единственными двумя сервисами воспроизведения, которые я использую.

Я думаю, что gms:play-services зависит от некоторых старых компонентов библиотеки поддержки, поэтому нам нужно добавить их явно самим.


для AS 3.0 старше.

Бежать:

./gradlew -q dependencies <module-name>:dependencies --configuration implementation

Пример:

./gradlew -q dependencies app:dependencies --configuration implementation

если кто-то знает лучший способ в новом плагине Gradle, пожалуйста, дайте мне знать.

783
humazed
  1. Перейдите в папку project/.idea/libraries в вашей файловой системе и посмотрите, какие библиотеки отличаются.
  2. Вам придется вручную включить эти библиотеки с одинаковой версией в ваш файл build.gradle.
  3. Затем синхронизируйте ваш проект.

Например.:

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
João Paulo Paiva

Для всех случаев, а не только для этих версий или библиотек:

Обратите внимание на небольшое информационное окно, в котором что-то говорится об ошибке, там указаны примеры, которые вы должны изменить и добавить .

В этом случае:

Найдено версии 25.1.1, 24.0.0. Примеры включают com.Android.support:animated-vector-drawable:25.1.1 и com.Android.support:mediarouter-v7:24.0.0

Ваш  

com.Android.support:animated-vector-drawable:25.1.1

это версия 25.1.1, а ваша  

com.Android.support:mediarouter-v7:24.0.0

- это версия 24.0.0, поэтому вы должны добавить посредник с той же версией:

com.Android.support:mediarouter-v7:25.1.1

И делайте это для каждого примера, который говорит маленькое информационное окно, в этом случае все библиотеки, которые не имеют версию 25.1.1.

Вы должны синхронизировать gradle после того, как вы исправите указанную библиотеку, чтобы увидеть следующую библиотеку и пакет, который вы должны изменить.

ВАЖНЫЙ:

Если вы явно не используете одну или несколько указанных библиотек и выдает ошибку, это означает, что она используется внутри другой библиотеки, в любом случае, скомпилируйте ее явно.

Вы также можете использовать другой метод, чтобы увидеть разницу между версиями всех библиотек, которые вы на самом деле компилируете (например, запустить отчет о зависимостях gradle или перейти к файлам ваших библиотек), реальная цель - скомпилировать все библиотеки, которые вы используете. используя с той же версией .

141
Brandon Zamudio

Добавьте это в самый конец вашего build.gradle (Модуль: приложение):

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

   }
}

Убедитесь, что вы заменили «25 .3.1» версией библиотеки поддержки Android, которую вы хотите использовать для всех зависимостей, она не должна быть ниже, чем ваша версия компиляции SDK

чем повторно синхронизировать Gradle

88
ezzou

Лучший способ решить эту проблему - реализовать все «com.Android.support: ...», предложенные студией Android

(не имеет значения, какие версии поддержки вы используете - 27.1.1, 28.0.0 и т. д.)

поместите курсор на строку ошибки, например:

implementation 'com.Android.support:appcompat-v7:28.0.0'

Android-студия подскажет, какая версия com.Android.support: ... отличается от версии Com.Android.support:appcompat-v7:28.0.0 ' 

пример 

Все библиотеки com.Android.support должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения). Найдено версии 28.0.0, 27.1.0, 27.0.2. Примеры включают com.Android.support:animated-vector-drawable:28.0.0 и com.Android.support:exifinterface:27.1.0

поэтому добавьте com.Android.support:animated-vector-drawable:28.0.0 & com.Android.support:exifinterface:28.0.0. теперь синхронизирует файл Gradle.

один за другим пытайтесь реализовать все предложенные «com.Android.support: ...», пока в этой строке не будет ошибки implementation 'com.Android.support:appcompat-v7:28.0.0'

В моем случае я добавил 

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'

все эти зависимости ... это может отличаться для других.

72
Adarsh Vijayan P

У меня была точно такая же проблема после обновления до Android Studio 2.3

Добавление этой строки в зависимости решило мою проблему:

compile 'com.Android.support:customtabs:25.2.0'
53
Berat Baran Cevik

A) Запустите gradle dependencies или ./gradlew dependencies

Б) Посмотрите на свое дерево и выясните, какая из ваших зависимостей указывает другую версию библиотеки поддержки для зависимости, которую вы не контролируете.

Я не осознавал, что это предупреждение также отображается, если зависимость полностью не используется непосредственно вашим собственным кодом. В моем случае Facebook указывает некоторые библиотеки поддержки, которые я не использовал, вы можете видеть ниже, большинство этих зависимостей были переопределены моей собственной спецификацией 25.2.0, обозначенной символами -> X.X.X (*) . Вид карты и пользовательские вкладки не были изменены никем, поэтому мне нужно запросить 25.2.0 для них, даже если я ими не пользуюсь.

+--- 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 (*)

Если Gradle уже предупредил вас и привел примеры ...

Примеры включают com.Android.support:animated-vector-drawable:25.1.1 и com.Android.support:mediarouter-v7:24.0.0

... еще проще, если вы добавите подсвечивание grep для более низкой версии, так как gradle dependencies может быть довольно многословным:

./gradlew dependencies | grep --color -E 'com.Android.support:mediarouter-v7|$'
44
Daniel Wilson

Использовать переменные: если вы сделаете что-то подобное, вам будет проще убедиться, что вы используете одну и ту же версию со всеми библиотеками

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

Дополнительную информацию о том, как Google предлагает вам управлять этими версиями, можно найти в этой статье: https://developer.Android.com/studio/build/index.html#top-level

31
Daniel F

Я просто добавляю это:

compile 'com.Android.support:mediarouter-v7:25.2.0'

Updated для новых версий SDK

compile 'com.Android.support:mediarouter-v7:28.0.0-alpha3'
25
Mohsen mokhtari

Если та же ошибка на appcompat

implementation 'com.Android.support:appcompat-v7:27.0.1'

тогда добавление design решило это.

implementation 'com.Android.support:appcompat-v7:27.0.1'
implementation 'com.Android.support:design:27.0.1'

Для меня добавление

implementation 'de.mrmaffen:vlc-Android-sdk:2.0.6'

был включен appcompat-v7:23.1.1 в 

.idea/библиотеки 

без vlc достаточно только appcompat.

19
Prabs

Как вы уже видели все ответы и комментарии выше, но этот ответ должен прояснить то, что новый разработчик может не получить легко.

./gradlew -q приложение зависимостей: зависимости --configuration compile 

Вышеуказанная строка спасет вашу жизнь без сомнения, но как получить точную точку из результата вышеупомянутой линии.

Когда вы получаете всю диаграмму зависимостей или список из приведенной выше команды, вам нужно искать конфликтующий номер версии, который вы получаете в своем коде. пожалуйста, смотрите изображение ниже.

 enter image description here

на изображении выше вы можете увидеть, что 23.4.0 создает проблему, но мы не смогли найти ее в нашем файле Gradle. Так что теперь этот номер версии (23.4.0) спасет нас. Когда у нас будет этот номер, мы найдем его в результате выполнения команды выше и напрямую импортируем эту зависимость непосредственно в наш файл Gradle. Пожалуйста, смотрите изображение ниже, чтобы получить четкое представление.

 

вы можете ясно видеть, что com.Android.support:cardview-v7:23.4.0 и com.Android.support:customtabs:23.4.0 используют версию, которая создает проблему. Теперь просто скопируйте эти строки из списка зависимостей И явно используйте их в нашем файле Gradle, но с обновленной ссылкой на версию. 

creation "com.Android.support:cardview-v7:26.1.0" реализация "com.Android.support:customtabs:26.1.0"

17
anoopbryan2

Другой способ разрешить конфликты - просто установить правильную версию для всех зависимостей, например так:

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

Используйте support-v13 вместо support-v4

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

Я получил ту же ошибку после добавления compile 'com.google.Android.gms:play-services:10.2.4' с компиляцией 'com.Android.support:appcompat-v7:25.3.1'.

Добавление animated-vector-drawable и mediarouter libs устранило проблему.

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

У меня было это:

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

и получил эту ошибку:  enter image description here

Решения были просты - все основные зависимости были правильными, а значит, ушли - любые сторонние зависимости. Удален один за другим, пока не найден виновник, и оказывается Facebook! он использует версию 27.0.2 библиотек поддержки Android. Я попытался добавить версию 27.1.1 cardview, но это не сработало, и решение все еще было достаточно простым.

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'
}
9
AppLogics Solutions Ltd.

Моя проблема похожа на вашу . Здесь есть ошибка!

compile 'com.Android.support:appcompat-v7:25.3.0'

Все библиотеки com.Android.support должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения). Найдено версии 25.3.0, 24.0.0. Примеры включают в себя «com.Android.support:animated-vector-drawable:25.3.0» и «com.Android.support:mediarouter-v7:24.0.0»

Видя это Примеры включают "com.Android.support:animated-vector-drawable:25.3.0" и "com.Android.support:mediarouter-v7:24.0.0"

просто добавьте эти коды в зависимости, убедитесь, что версии совпадают.

compile 'com.Android.support:animated-vector-drawable:25.3.0'
compile 'com.Android.support:mediarouter-v7:25.3.0'
9
Yanbin Hu

У меня была такая же проблема раньше, и я получил решение для нее.

Я просто добавил библиотеки, которые имели другую версию, но с той же версией моего support:appcompat.

Для вашей ошибки, например:

Все библиотеки com.Android.support должны использовать одну и ту же версию спецификация (смешивание версий может привести к сбоям во время выполнения). Найденный версии 25.1.1, 24.0.0. Примеры включают com.Android.support:animated-vector-drawable:25.1.1 и com.Android.support:mediarouter-v7:24.0.0

* Решение состоит в том, чтобы скомпилировать версии этих библиотек следующим образом:

compile 'com.Android.support:mediarouter-v7:25.1.1'

-Если другая библиотека имела такую ​​же проблему и имела другую версию, просто скомпилируйте ее с вашей версией support:appcompat

Это решило мою проблему, и я надеюсь, что это решит вашу.

С наилучшими пожеланиями :)

8
Hesham Morsy

Я использовал эти два, чтобы решить мою проблему после обновления до 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

После поиска и объединения ответов 2018 версия этого вопроса у меня сработала:

1) На вкладке навигации измените его на вид проекта

2) Перейдите к [YourProjectName] /. Idea/library/

3) Удалите все файлы, начиная с Gradle__com_Android_support_ [имя_библиотеки]

Например: Gradle__com_Android_support_animated_vector_drawable_26_0_0.xml

4) В вашем файле Gradle определите переменную и используйте ее для замены номера версии, например $ {variableName}

Переменная Def:

ext {
    support_library_version = '28.0.0' //use the version of choice
}

Используйте переменную:

implementation "com.Android.support:cardview-v7:${support_library_version}"

пример gradle:

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

в обновлении 2018 для этой ошибки добавить реализацию из структуры проекта 

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

в режиме проекта -> Внешние библиотеки там вы можете найти свою проблему, в моем случае Я использую версию 28 и внешние библиотеки, которые я нашел com.Android.support:support-media-compat-26.0.0 и здесь была ошибка.

после реализации support v13 и все работает

6
Alwayss Bijoy

Вы определили любую другую зависимость для компиляции с версией 24.0.0 вместо 25.1.1. Пожалуйста, установите все версии зависимостей так же, как 25.1.1.

6
Sneh Pandya

У меня та же проблема, но я решил ее, добавив Эти три линии

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'

теперь все работает отлично

6
Hamza Rahman

Вот мой поток, чтобы исправить это предупреждение

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

Для просмотра/проверки dependencies всей библиотеки в вашем приложении
Открыть терминал и запустить ./gradlew app:dependencies

Чтобы просмотреть dependencies определенной библиотеки в вашем приложении, следуйте инструкциям здесь: - Как исключить зависимости конкретной зависимости в Gradle

Надеюсь, это поможет

6
Linh

Я запустил задачи ./gradlew --all и проверил наличие зависимостей, отличных от целевой версии (25.3.1). Вы получите что-то вроде этого:

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

В этом случае я использовал таргетинг на 25.3.1 и имел некоторые зависимости, ориентированные на разные версии, когда я запускал эту команду. Хитрость заключается в том, чтобы идентифицировать зависимости в этом списке, которые нацелены на предыдущие версии, и переопределить это путем импорта самой последней версии зависимости в Gradle.

6
Matt W

Убедитесь, что все зависимости Facebook SDK используют одну и ту же версию библиотеки поддержки вашего проекта:

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

Возникла та же проблема после обновления до Android Studio 2.3, исправление заключалось в добавлении следующего пакета в build.gradle:

compile 'com.Android.support:support-v13:25.3.1'

Примечание: Измените версию, чтобы она соответствовала другим пакетам поддержки библиотеки, используемым в вашем проекте

5
Vahid Amiri

Открыв внешнюю библиотеку вашего проекта, вы увидите, что какая-то библиотека все еще использует предыдущую версию, хотя вы не упомянули эту библиотеку, поэтому я предлагаю просто использовать конкретную версию библиотеки для тех, кто решит вашу проблему.

5
Subho

Мне пришлось добавить следующие строки в Gradle, чтобы удалить ошибку

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

Выделите ошибку и нажмите «ALT + ENTER», вы увидите вариант:

Добавить библиотечную зависимость> Изменить настройки намерений

Это приведет вас к меню, в котором вы увидите конкретную проблему поддержки зависимости, которая отличается от support-compat. Создайте его зависимость в gradle (com 'XXX') и установите его версию, соответствующую версии support-compat. Синхронизируйте Gradle и все готово.

5
Raymond Wachaga

Для меня ошибка была результатом импортированной мной сторонней библиотеки, которая использовала более старые модули библиотеки поддержки Google. Я просто обновил их до последней версии (проверяя, например, на Github), и ошибка исчезла. Я предлагаю проверить все библиотеки, не принадлежащие Google, которые вы включили в свой build.gradle.

5
Octocat
implementation 'com.Android.support:appcompat-v7:26.1.0'

после этой строки вы должны добавить новую строку в ваш gradle

implementation 'com.Android.support:design:26.1.0'
5
Aleem Momin

Я просто обновил свой репозиторий поддержки Android до (ревизия: 44.0.0); Затем инструменты Android SDK и эмулятор до последней версии 25.3.1 из sdk manager> инструменты SDK И это решило мою проблему.

5
Ajit Thapa

Я получил эту проблему после обновления до Android Studio 2.3

Добавление этих строк в зависимости решило мою проблему

compile 'com.Android.support:customtabs:25.2.0'  
compile 'com.Android.support:palette-v7:25.2.0'
4
Kathirva

замени это 

compile 'com.Android.support:appcompat-v7:25.2.0'

этим 

compile 'com.Android.support:appcompat-v7:25.3.1'
compile 'com.Android.support:mediarouter-v7:25.3.1'

восстановить и хорошее кодирование

4
Aoun allah Billel

Если вы столкнулись с проблемой после внедрения всех перечисленных ниже новых библиотек. Я столкнулся с вышеупомянутой проблемой на этих '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'

Я просто заменяю Это 

'com.Android.support:appcompat-v7:27.1.0'

к этому

'com.Android.support:appcompat-v7:27.0.1'
3
badarshahzad

включите следующую строку:

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

Убедитесь, что вы используете Android Studio плагин 3+

 enter image description here

3
Shrirang

добавить их в зависимости уровня приложения

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

Для меня я решил ошибку, добавив: compile 'com.Android.support:design:<version>'

3
Haya Akkad

Попробуйте сделать инструменты сборки точно такой же версией библиотеки поддержки

пример 

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

Еще одна вещь, которая может вызвать эту проблему, если у вас есть такие объявления:

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. Замените + конкретной версией, такой как 25.3.1, например:

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'

и это решит проблему

3
Yonatan Nir

Проблема может быть решена с помощью следующего метода:

  1. Откройте файл AndroidManifest.xml.
  2. Нажмите на Объединенный манифест опцию внизу
  3. На правой стороне он покажет Другие файлы манифеста . Вот отдельные файлы манифеста для различных зависимостей, которые вы включили или включили из-за влияния какой-то другой зависимости.
  4. Узнайте зависимость, которая упоминается в вашем сообщении об ошибке. Нажмите на него, чтобы открыть его файл манифеста.
  5. Если в вашем сообщении об ошибке говорится об изменении атрибута Android:value в meta-data, то это место, где нужно сделать это изменение.
  6. Измените значение и другие места, где появляется этот несопоставимый номер версии, и измените его на версию, указанную в файле build.gradle.
  7. Теперь синхронизируйте проект, и вы готовы идти
3
Devansh Maurya

Очень просто с новой версией Android студии 3.x.

Просто скопируйте версию, которая меньше текущей версии, и добавьте ее явно с тем же номером версии, что и текущая версия. 

Пример  

Найдено версии 27.1.1, 27.1.0. Примеры включают com.Android.support:animated-vector-drawable:27.1.1 и com.Android.support:exifinterface:27.1.0

Просто скопируйте версию com.Android.support:exifinterface:27.1.0 и измените ее на com.Android.support:exifinterface:27.1.1, чтобы она стала равной текущей версии, которую вы используете, и добавьте ее в зависимости от gradle следующим образом. 

implementation 'com.Android.support:exifinterface:27.1.1'

Примечание: как только вы закончите, не забудьте нажать Синхронизировать сейчас вверху редактора.  

2
Muhammad

Я столкнулся с этой проблемой после обновления до Android Studio 3.4 и SDK версии до 28.0.0. Применение ниже зависимости решило проблему для меня.

    implementation 'com.Android.support:exifinterface:28.0.0'
2
Shaon

Все библиотеки com.Android.support должны использовать одну и ту же спецификацию версий (смешивание версий может привести к сбоям во время выполнения). Найдено версии 25.1.1, 24.0.0. Примеры включают com.Android.support:animated-vector-drawable:25.1.1 и com.Android.support:mediarouter-v7:24.0.0

Это предупреждение обычно возникает, когда мы используем Сервисы Google Play, потому что в качестве зависимостей используются библиотеки поддержки.

Большинство из нас не знали, что мы можем переопределить библиотеки поддержки, используемые в Сервисах Google Play . Когда мы используем следующую зависимость:

implementation "com.Android.support:animated-vector-drawable:25.1.1"

это неявно зависит от com.Android.support:mediarouter-v7:25.1.1. Но это конфликтует с зависимостью Сервиса Google Play, которая com.Android.support:mediarouter-v7:24.0.0. Итак, нам нужно переопределить его, явно используя библиотеку с:

implementation "com.Android.support:mediarouter-v7:25.1.1"

Затем ваш блок зависимостей будет включать их обоих так:

dependencies {
    implementation "com.Android.support:animated-vector-drawable:25.1.1"
    implementation "com.Android.support:mediarouter-v7:25.1.1"

    ...
}
2
ישו אוהב אותך

Мне удалось скомпилировать (не очень чисто), добавив

image description here

2
Croid

Мне пришлось добавить следующие строки в Gradle, чтобы удалить ошибку Это зависит от версии, которую вы используете так же, как appcompat

compile 'com.Android.support:appcompat-v7:26+'

compile 'com.Android.support:mediarouter-v7:26+'
1
Muhammad Usman Ghani

Просто просто заставить все библиотеки v7 и v4 использовать версию библиотеки, которую вы установили непосредственно перед вашими зависимостями.

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

Моя проблема решена Добавить следующие последние зависимости implementation 'com.google.firebase:firebase-auth:16.0.4'

1
Prathamesh More

Потратив около 5 часов, это решение сработало для меня ..

Сначала добавьте эту строку в ваш тег манифеста, если у вас еще нет:

xmlns:tools="http://schemas.Android.com/tools"

Пример:

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

Затем добавьте этот метатег в ваше приложение, чтобы перезаписать вашу версию инструментов сборки, в данном случае, например, я выбрал версию 25.3.1.

<application>
   ...
   ..
    <meta-data
        tools:replace="Android:value"
        Android:name="Android.support.VERSION"
        Android:value="25.3.1" />
</application>
1
akaMahesh

Просто добавьте // 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

Есть только один способ ... и вы должны сделать это вручную ... Перейдите к проверке build.gradle, назначьте все зависимости одним и тем же версиям .. И это должно работать ..

0
Shubham Soni

Эта ошибка из-за скольжения библиотеки. Попробуйте Picasso или другие библиотеки изображений

0
Ashok Chowdary