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

После обновления до андроид студии 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

мой 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: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'
}

47 ответов

Решение

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

Обновить:

Начиная с 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

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

Для меня ошибка исчезла после удаления 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, пожалуйста, дайте мне знать.

  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'

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

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

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

Найдено версии 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 или перейти к файлам ваших библиотек), реальная цель - скомпилировать все библиотеки, которые вы используете с та же версия.

Лучший способ решить эту проблему - реализовать все "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'

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

Добавьте это в самый конец вашего 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

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

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

compile 'com.android.support:customtabs:25.2.0'

А) Беги gradle dependencies или же ./gradlew dependencies

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

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

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

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

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

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

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

compile 'com.android.support:mediarouter-v7:28.0.0-alpha3'

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

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

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

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

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

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

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

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

Если та же ошибка включена 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 одного достаточно.

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

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

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

compile 'com.android.support:support-v13:25.2.0'

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

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'

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

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'

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

    implementation 'com.android.support:exifinterface:28.0.0'

Я получил ту же ошибку после добавления 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'

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

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

и получил эту ошибку:

Решения были просты - все основные зависимости были правильными, но все же оставались - любые сторонние зависимости. Удален один за другим, пока не найден виновник, и оказывается 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'
}

Я использовал эти два, чтобы решить мою проблему после обновления до Android Studio 2.3

compile 'com.android.support:animated-vector-drawable:25.0.0'
compile 'com.android.support:mediarouter-v7:25.0.0'

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

Я просто добавил библиотеки, которые имели другую версию, но с той же версией моего 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 версия

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

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

После поиска и объединения ответов, у 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}"

}

Очень просто с новой версией андроид студии 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'

Примечание. По завершении не забудьте нажать " Синхронизировать" вверху редактора.

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

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

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

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

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

Мне пришлось добавить следующие строки в 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'

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

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'

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

Я запустил задачи./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.

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

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

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

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

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

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

implementation 'com.android.support:appcompat-v7:26.1.0'

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

implementation 'com.android.support:design:26.1.0'
Другие вопросы по тегам