Все библиотеки 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

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

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

Ответ 1

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

Обновить:

Начиная с 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: compile 3.0 была заменена 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 поскольку они являются единственными двумя сервисами play, которые я использую.

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


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

Бежать:

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

Пример:

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

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

Ответ 2

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

например:.

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

// Wrong library version found on 1st point
compile 'com.android.support:customtabs:25.2.0'

Ответ 3

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

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

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

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

Ответ 4

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

   }
}

Убедитесь, что вы заменили "25.3.1" на версию библиотеки поддержки Android, которую вы хотите использовать для всех зависимостей, она не должна быть ниже вашей стандартной версии sdk для компиляции

чем повторная синхронизация gradle

Ответ 5

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

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

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

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

Android Studio подскажет, какая версия 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'

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

Ответ 6

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

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

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

Ответ 7

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

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

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

Ответ 8

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

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

Ответ 9

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

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

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

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

Ответ 10

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

без vlc, только appcompat.

Ответ 11

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

./gradlew -q зависимостей app: dependencies --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"

Ответ 12

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

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

Использовать поддержку-v13 вместо поддержки-v4

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

Ответ 14

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

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'

Ответ 15

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

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'

Ответ 16

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

Ответ 17

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

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, но это не сработало. Решение было еще достаточно простым.

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

Ответ 18

Я использовал эти два решения для решения моей проблемы после обновления до Android 2.3.

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

Ответ 19

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

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

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

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

Ответ 20

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

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

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

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

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

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

Значение переменной:

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

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

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

пример градиента:

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

}

Ответ 21

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

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

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

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

Ответ 22

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

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

Ответ 23

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

Ответ 24

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

Ответ 25

Я выполнил задачи. /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.

Ответ 26

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

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

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

Ответ 27

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

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'

сейчас Все отлично работает

Ответ 28

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

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

Ответ 29

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

Ответ 30

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