Android gradle: buildtoolsVersion vs compileSdkVersion

Ответы:

199

compileSdkVersion версия API Android, с которой вы компилируете

buildToolsVersionверсия компиляторов (aapt, dx, компилятор Renderscript и т. д.), которые вы хотите использовать. Для каждого уровня API (начиная с 18) существует соответствующая версия .0.0.

На IO 2014 мы выпускаем API 20 и инструменты сборки 20.0.0, которые идут вместе с ним.

Между выпусками Android мы будем выпускать обновления компиляторов, и поэтому мы будем выпускать версии .0.1, .0.2 и т. Д. Поскольку мы не хотим молча обновлять эти версии под вами, вы можете перейти к новая версия, когда вам удобно.

Вы можете использовать более высокую версию инструментов сборки, чем ваш compileSdkVersion, чтобы выбрать новый / лучший компилятор, не меняя при этом то, против чего вы собираете свое приложение.

Ксавье Дюкрохет
источник
10
Можно ли использовать более высокий buildToolsVersion на более низком compileSdkVersion, скажем, 20.0.0 buildToolsVersion на 18.0.0 compileSdkVersion?
Glide
5
@ Да, инструменты сборки будут поддерживать более старые версии.
Ксавье Дюкрохет
1
@ XavierDucrohet Нужно ли указывать buildToolsVersion? Я помню, что где-то читал, что последняя версия инструментов сборки выбирается автоматически. Я пытался удалить buildToolsVersion, но Android Studio не устраивает его.
Хонг
11
Кто-нибудь со ссылкой делает документ о том, что на самом деле происходит за кулисами с compileSdkVersion, buildToolsVersion, minSdkVersion и targetSdkVersion? Я хотел бы правильно понять это.
powder366
2
@ powder366 Посмотреть этот ценный пост Яна озеро: - medium.com/google-developers/...
maveroid
46

Обновление Android Studio 3.0

Уже не так важно знать точно, buildToolsVersionкак раньше, потому что теперь он выбирается автоматически.

Документация говорит:

Вам больше не нужно указывать версию для инструментов сборки (теперь вы можете удалить android.buildToolsVersionсвойство). По умолчанию плагин автоматически использует минимально необходимую версию инструментов сборки для той версии плагина Android, которую вы используете.

Нахождение точного номера версии

Первоначально я пришел сюда, чтобы узнать, как узнать точный номер последней версии Build Tools Version (в те времена, когда это нужно было обновлять вручную). Если вам все еще нужно это сделать, вы можете найти его следующим образом:

Перейдите в Инструменты> Менеджер SDK> Инструменты SDK (вкладка) . Выберите Android SDK Build Tools из списка и установите флажок Показать сведения о пакете . Последний элемент покажет самую последнюю версию.

введите описание изображения здесь

На изображении выше я вижу, что я buildToolsVersion 27.0.3установил. Существует более свежая rcверсия (версия-кандидат), но я ее не установил. Я буду, когда стабильная версия выходит.

Suragch
источник
Просто чтобы быть понятным, в AS 3.2 путь к вышеупомянутому - "Файл => Настройки => Внешний вид и поведение ...."
JL_SO