Android gradle: buildtoolsVersion vs compileSdkVersion
В чем разница между buildtoolsVersion
против compileSdkVersion
в build.gradle для проекта Android?
РЕДАКТИРОВАТЬ: В частности, я хотел бы уточнить, что такое инструмент сборки?
2 ответа
compileSdkVersion
версия API Android, с которой вы компилируете
buildToolsVersion
является версией компиляторов (aapt, dx, компилятор Renderscript и т. д.), которые вы хотите использовать. Для каждого уровня API (начиная с 18) существует соответствующая версия.0.0.
На IO 2014 мы выпускаем API 20 и build-tools 20.0.0, чтобы идти с ним.
Между выпусками Android мы будем выпускать обновления компиляторов, и поэтому мы будем выпускать версии.0.1, .0.2 и т. Д. Поскольку мы не хотим молча обновлять эти версии под вами, вы можете перейти к новая версия, когда вам удобно.
Вы можете использовать более высокую версию инструментов сборки, чем ваш compileSdkVersion, чтобы выбрать новый / лучший компилятор, не изменяя при этом то, против чего вы собираете свое приложение.
Обновление Android Studio 3.0
Уже не так важно знать точное buildToolsVersion
как это было раньше, потому что теперь он выбирается автоматически.
В документации сказано:
Вам больше не нужно указывать версию для инструментов сборки (теперь вы можете удалить
android.buildToolsVersion
имущество). По умолчанию плагин автоматически использует минимально необходимую версию инструментов сборки для используемой версии плагина Android.
Нахождение точного номера версии
Первоначально я пришел сюда, чтобы узнать, как узнать точный номер последней версии Build Tools Version (в те времена, когда это нужно было обновлять вручную). Если вам все еще нужно это сделать, вы можете найти его следующим образом:
Перейдите в Инструменты> Менеджер SDK> Инструменты SDK (вкладка). Выберите Android SDK Build Tools из списка и установите флажок Показать сведения о пакете. Последний элемент покажет самую последнюю версию.
На изображении выше, я вижу, что у меня есть buildToolsVersion 27.0.3
установлены. Есть более свежие rc
(версия-кандидат), но я ее не установил. Я буду, когда стабильная версия выходит.