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'