Android gradle: buildtoolsVersion vs compileSdkVersion

Какая разница между buildtoolsVersion vs compileSdkVersion в build.gradle для проекта Android?

EDIT: В частности, я хотел бы пояснить, что такое инструмент сборки?

Ответ 1

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, чтобы получить новый/лучший компилятор, не изменяя то, что вы создаете для своего приложения.

Ответ 2

Дополнительный ответ

Xavier Ducrohet ответ хороший, но я пришел сюда, чтобы узнать, как точно узнать номер последней версии Build Tools.

Откройте "Инструменты" > "Android" > "Диспетчер SDK" > "Внешний вид и поведение" > "Настройки системы" > "Android SDK" > вкладка "Инструменты SDK". Выберите "Android SDK Build Tools" из списка и установите флажок "Показать сведения о пакете". Последний элемент отобразит самую последнюю версию.

Снимок экрана инструментов SDK

Другой трюк

Другим трюком для получения текущего номера версии Build Tools является просто создание нового проекта и просмотр автоматически сгенерированного файла build.gradle (Module: app).