Я новичок в разработке приложений для Android. Когда я попытался создать новый проект Android Project ... появилось следующее сообщение ..
Ошибка: не удалось выполнить задачу ': app: preDebugAndroidTestBuild'.
Конфликт с зависимостью com.android.support:support-annotations в проекте: app. Разрешенные версии приложения (26.1.0) и тестового приложения (27.1.1) различаются. Подробности см. На https://d.android.com/r/tools/test-apk-dependency-conflicts.html . Информация: задачи Gradle [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: mockableAndroidJar]
Это снимок экрана моего проекта. Нажмите здесь, чтобы увидеть снимок полученной ошибки.
Я также попытался добавить этот код в свою зависимость .. androidTestCompile 'com.android.support:support-annotations:23.3.0', это не сработало. Я также пробовал 27.1.1 и 26.1.0 .. это тоже не сработало.
Ответы:
На основании вашего скриншота я нашел два рабочих решения:
Первое решение : добавьте к зависимостям вашего модуля gradle эту строку
и синхронизируйте свой проект
Примечание: если вы используете Android Studio 3+, перейдите
compile
наimplementation
Второе решение : настройте свойства проекта, указанные в документации https://developer.android.com/studio/build/gradle-tips.html#configure-project-wide-properties.
в Gradle проекта добавьте эту строку:
Затем для доступа к этому разделу измените
compileSdkVersion
строку наcompileSdkVersion rootProject.ext.compileSdkVersion
и в
dependencies
разделе измените импортированную библиотеку, чтобы она была такой:и синхронизируйте свой проект
Примечание: если вы используете Android Studio 3+, перейдите
compile
наimplementation
Для разности между
compile
иimplementation
смотреть на это чем разница между реализацией и компилировать в Gradleисточник
Добавьте приведенную ниже строку в файл app.gradle перед блоком зависимостей.
Ниже также приведен снимок экрана для лучшего понимания.
блок configurations.all будет полезен только в том случае, если вы хотите, чтобы ваш целевой sdk был 26. Если вы можете изменить его на 27, ошибка исчезнет без добавления блока конфигурации в файл app.gradle.
Есть еще один способ, если вы удалите всю тестовую реализацию из файла app.gradle, это устранит ошибку, и в этом также вам не нужно добавлять блок конфигурации или изменять версию targetdk.
Надеюсь, это поможет.
источник
Если вы используете версию 26, тогда версия внутренних зависимостей должна быть 1.0.1 и 3.0.1, т.е. следующим образом
Если вы используете версию 27, тогда версия внутренних зависимостей должна быть 1.0.2 и 3.0.2, т.е., как показано ниже
источник
Если вы используете Android Studio 3.1. + Или выше
просто поместите это в свои зависимости от Gradle:
В целом так:
источник
Это связано с конфликтом версий, чтобы решить эту проблему, просто принудительно обновите свою версию поддержки-аннотаций, добавив эту строку в свой модуль: app gradle
implementation ('com.android.support:support-annotations:27.1.1')
Надеюсь, это решит вашу проблему;)
редактировать
Чуть не забыл, вы можете объявить одно дополнительное свойство ( https://docs.gradle.org/current/userguide/writing_build_scripts.html#sec:extra_properties ) для версии, перейти в свой проект (или ваш верхний) файл градиента и заявите о своей поддержке, или только для этого примера, версия аннотации var
ext.annotation_version = "27.1.1"
Затем в вашем модуле gradle замените его на:
implementation ("com.android.support:support-annotations:$annotation_version")
Это очень похоже на решение @emadabel, которое является хорошей альтернативой для этого, но без блока или
rootproject
префикса.источник
Добавление этого в build.gradle (приложение модуля) сработало для меня:
скомпилировать com.android.support:support-annotations:27.1.1
источник
Не волнуйтесь, это просто:
Перейдите в структуру каталогов «Project», перейдите в «Gradle Scripts», а внутри перейдите в «build.gradle (Module: app)» и дважды щелкните по нему.
Теперь - прокрутите программу вниз и перейдите в раздел зависимостей: Как показано ниже
dependencies {
}
Теперь в этом Удалите последние две строки кода и перестройте приложение, и теперь оно будет работать.
Зависимости должны быть:
dependencies {
}
ВОССТАНОВИТЕ ПРИЛОЖЕНИЕ, И ОНО РАБОТАЕТ !!
источник
Перейдите в build.gradle (приложение-модуль) в своем проекте:
Следуйте картинке и измените эту версию:
и если android studio версии 2: измените строку на эту строку:
else Измените строку на эту строку:
и, надеюсь, вы исправите свою ошибку.
источник
Добавьте это в свой файл Gradle.
источник
Еще один простой способ решить эту проблему - отредактировать ваше
build.gradle
(приложение):android
тегу и изменитьcompileSdkVersion 26
наcompileSdkVersion 27
defaultConfig
тегу и изменитьtargetSdkVersion 26
наtargetSdkVersion 27
dependencies
пометить и поменятьimplementation 'com.android.support:appcompat-v7:26.1.0'
наimplementation 'com.android.support:appcompat-v7:27.1.1'
источник
У меня такая же проблема, в build.gradle (Module: app) добавьте следующую строку кода внутри зависимостей:
У меня это сработало отлично
источник
Важное обновление
Перейдите на уровень проекта build.gradle, определите глобальные переменные
Перейдите на уровень приложения build.gradle и используйте глобальные переменные
приложение build.gradle
некоторая библиотека build.gradle
Решение - сделать ваши версии такими же, как и во всех модулях. Чтобы у вас не было конфликтов.
Важные советы
Всегда имейте последние, но стабильные версии. Нестабильные версии есть
alpha
,beta
иrc
игнорируйте их при разработке.Я обновил все нижеприведенные в своих проектах, и я больше не сталкиваюсь с этими ошибками.
build.gradle
-classpath 'com.android.tools.build:gradle:3.2.0'
( Отслеживаниеandroid.build.gradle
выпуска и этого )buildToolVersion
(Track buildToolVersion релиз )compileSdkVersion
иtargetSdkVersion
версию платформы отслеживайте ееУдачного кодирования! :)
источник
Если изменение целевой версии sdk не помогает, тогда, если у вас есть какая-либо зависимость от версии,
3.0.2
измените ее на3.0.1
.например, изменить
к
источник
Лучшее решение объясняется в официальном объяснении . Я оставил ответ, который дал ранее, под горизонтальной чертой.
По решению там:
Используйте внешний тег и запишите следующий код ниже в файле build.gradle верхнего уровня . Вы собираетесь изменить версию на переменную, а не на статический номер версии.
Измените статические номера версий в файле build.gradle уровня приложения , который находится
(Module: app)
рядом.Синхронизируйте свой проект, и вы не получите ошибок.
Вам не нужно ничего добавлять в скрипты Gradle. Установите необходимые SDK и проблема будет решена.
В вашем случае установите библиотеки ниже, выбрав «Настройки»> «Android SDK» или « Инструменты»> «Android»> «Диспетчер SDK».
источник
Добавьте эту строку под зависимостями в вашем файле gradle
источник