Почему мой Android-проект не может быть собран после обновления моего SDK до версии 20 и новейших инструментов сборки?

#android #android-gradle-plugin

#Android #android-gradle-plugin

Вопрос:

После обновления моих инструментов сборки до последних версий (SDK Tools v23, Platform Tools v20 и Android Studio v0.8.1) я получил следующую ошибку при создании моего проекта:

использует-sdk: minSdkVersion 14 не может быть меньше версии L, объявленной в библиотеке com.android.support: поддержка-v4: 21.0.0-rc1

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

Ответ №1:

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

Чтобы исправить это, я добавил следующее:

 compile ('name_of_library:0.9.9') {
    exclude group: 'com.android.support', module:'support-v4'
}
  

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

Чтобы помочь идентифицировать библиотеку-нарушитель, введите следующее:

 ./gradlew :your_project_name:dependencies
  

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

Комментарии:

1. где именно в build.gradle вы это добавляете?

2. Потому что после того, как я добавил его, я получил ошибку сценария сборки: (

3. Когда вы идентифицируете библиотеку, в которой произошла ошибка, замените экземпляр, в котором вы установили зависимость (т. Е. строку компиляции), на приведенный выше. По сути, вы просто добавляете { exclude … } материал к вашему существующему объявлению зависимости.