Android Studio 3.1: версии для микширования могут привести к сбоям во время выполнения

Недавно обновились до Android Studio 3.1, и в то же время я пытаюсь выполнить предварительный просмотр Android P.

Я получаю следующую ошибку при компиляции:

Все библиотеки com.android.support должны использовать точно такую же спецификацию версии (версии для микширования могут привести к сбоям во время выполнения). Найдено версии 28.0.0-alpha1, 26.1.0. Примеры включают com.android.support:animated-vector-drawable:28.0.0-alpha1 и com.android.support:support-media-compat:26.1.0 меньше... (Ctrl + F1) Есть несколько комбинаций библиотек, или инструменты и библиотеки, которые несовместимы или могут привести к ошибкам. Одна такая несовместимость заключается в компиляции с версией библиотек поддержки Android, которая не является последней версией (или, в частности, версией ниже вашей целевойSdkVersion).

Но я не вижу ни одного экземпляра 26.1.0 любом месте. Все, что у меня есть в моей градиенте:

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

Я пытался очистить кэши, восстановить приложение и т.д. Но ошибка остается.

Ответ 1

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

dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:customtabs:28.0.0-alpha1'
implementation 'com.android.support:support-vector-drawable:28.0.0-alpha1'
implementation 'com.android.support:support-media-compat:28.0.0-alpha1'
implementation 'com.android.support:support-v4:28.0.0-alpha1'

Ответ 2

Вышеупомянутое предупреждение не относится к зависимости медиа-compat Они просто добавили пример, чтобы объяснить проблему. Проблема была решена добавлением v4 lib для меня.

implementation 'com.android.support:support-v4: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:support-media-compat:28.0.0'

Ответ 3

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

Найдено версии 28.0.0-alpha1, 26.1.0. Примеры включают com.android.support:animated-vector-drawable:28.0.0-alpha1 и com.android.support:support-media-compat:26.1.0 меньше...

Вы можете удалить эту ошибку, добавив библиотеки примерно так:

dependencies {
   implementation 'com.android.support:animated-vector-drawable:28.0.0-alpha1'
   implementation 'com.android.support:support-media-compat:28.0.0-alpha1'
}

Ответ 4

эта ошибка пришла, когда я подключаю приложение к firebase.

не нужно ничего добавлять.

просто наведите курсор мыши на строку ошибки (ниже единицы) и нажмите Alt + Enter

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

в списке введите первый вариант. (noinspection)

После этого это выглядит так,

//noinspection GradleCompatible implementation 'com.android.support:appcompat-v7:28.0.0'

Ответ 5

Некоторая зависимость - возможно, playLicensing - имеет транзитивную зависимость, по крайней мере, от support-media-compat, для версии 26.1.0.

Чтобы обойти это:

  • Определите каждый артефакт библиотеки поддержки, который отображается в "Внешних библиотеках", который старше 28.0.0-alpha1. Исходя из этой ошибки, все старые должны быть 26.1.0, и это будет, по крайней мере, support-media-compat.

  • Для каждого из них добавьте свою собственную линию implementation в свои зависимости, запросив артефакт, но для 28.0.0-alpha1. Это приведет к тому, что Gradle будет использовать новый артефакт, который, как вам кажется, вам нужен.

  • Надеюсь, что все, что зависит от этих старых артефактов, сохранится с новыми артефактами.

Итак, как минимум, вы добавляете:

implementation 'com.android.support:support-media-compat:28.0.0-alpha1'

Ответ 6

добавить в зависимости build.grad(Module.app)

dependencies {
 //noinspection GradleCompatible
 implementation 'com.android.support:appcompat-v7:28.0.0'
 implementation 'com.android.support:animated-vector-drawable:28.0.0'
 implementation 'com.android.support:support-media-compat:28.0.0'
}

Ответ 7

Переопределите конфликтующие библиотеки:

implementation 'com.android.support:support-v4:28.0.0-alpha1'
implementation 'com.android.support:animated-vector-drawable:28.0.0-alpha1'
implementation 'com.android.support:exifinterface:28.0.0-alpha1'

Ответ 8

В моем случае добавление support-v4 помогло мне избежать предупреждения.

dependencies {
    implementation 'com.android.support:appcompat-v7: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'

    // other dependencies
}

Ответ 9

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

implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

Ответ 10

Вы используете FireBase в своем проекте? Использование индексации ядра firebase или приложения firebase, кажется, вызывает проблему. У меня была та же проблема, но комментирование пакетов Firebase делает ошибку исчезнуть

//    implementation 'com.google.firebase:firebase-core:16.0.8'
//    implementation 'com.google.firebase:firebase-ads:17.2.0'
//    implementation 'com.google.firebase:firebase-appindexing:17.1.0'

Ответ 11

Простое и удобное решение - добавить вручную конфликтующие версии Android-поддержки.

Смешанная версия может привести к сбоям во время выполнения

Просто следуйте и решите свою проблему.

перейдите к своему gradle script--> build gradle (Module: app) в разделе зависимостей и реализуйте конфликтующую версию для простоты, перейдите по ссылке.

Убедитесь, что во время реализации нет места.

implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'

Вы можете перейти по ссылке.

Ответ 12

Я думаю, что ваш файл Gradle имеет следующую зависимость. Добавьте это на уровень вашего приложения build.gradle.

implementation 'com.android.support:appcompat-v7:28.0.0-alpha1'
implementation 'com.android.support:mediarouter-v7:28.0.0-alpha1'
implementation 'com.android.support:support-vector-drawable:28.0.0-alpha1'
implementation 'com.android.support:support-v4:28.0.0-alpha1'