Что такое инструменты сборки Android SDK, инструменты платформы и инструменты? И какую версию следует использовать?

272

Я знаю, что это очень рудиментарный вопрос, но, к моему удивлению, я не смог найти никакого документа об инструментах Android SDK Build-tools. Помимо Android SDK Tools и Android SDK Platform-tools, есть набор инструментов Android SDK Build-Tools, как показано на прилагаемом скриншоте. Может ли кто-нибудь указать на источник, объясняющий все, и помочь выяснить, как определенная версия Android SDK Build-tools выбрана для использования?

Изображение 8661

Отредактировано (2014-02-27):

Я все еще не полностью понимаю все инструменты. Ниже приведено мое ограниченное понимание на основе последних документов Google:

  • Android SDK Build-tools были компонентами Android SDK Platform-tools. Они были отделены от Android SDK Platform-tools, поэтому инструменты сборки могут обновляться независимо от компонентов интегрированной среды разработки (IDE).
  • Платформы для Android SDK настроены для поддержки функций последней платформы Android. Они имеют обратную совместимость, поэтому вы всегда используете последнее обновление Android SDK Platform-tools, даже ваше приложение предназначено для старых платформ Android.
  • Инструменты SDK независимы от платформы и требуются независимо от того, на какой платформе Android вы работаете.

Я до сих пор не понимаю обоснования принятия Android SDK Build-tools из Android SDK Platform-tools, который имеет один экземпляр и легко управляет обновлением, Единственная возможная причина, по которой я могу думать, заключается в том, что некоторые приложения должны полагаться на старые компоненты сборки для их создания. В документе Google упоминается об этом, но не объясняет, почему. Если посмотреть на заметки о выпуске, вы заметите, что обновления Android SDK Build-tools предназначены в основном для исправления ошибок или поддержки поддержки новых платформ. Единственная причина, по которой я могу думать о том, что некоторые приложения используют более старые версии Android SDK Build-tools, заключается в том, что они полагаются на определенные ошибки Android SDK Build-tools. Эти приложения не будут работать нормально, не создавая этих ошибок. Я бы хотел, чтобы Google смог объяснить это лучше, указав один или два примера, показывающие, почему эти ошибки в инструментах имеют решающее значение для определенных приложений.

Теги:
sdk
android-sdk-tools

6 ответов

72

О версии Android SDK Build-tools, ответ

По умолчанию Android SDK использует самую последнюю загруженную версию Инструменты сборки.

Источник

В Eclipse вы можете выбрать определенную версию, используя свойство sdk.buildtools в файле project.properties.

Кажется, нет официальной страницы, объясняющей все инструменты сборки. Вот что говорит об этом команда Android.

Инструменты [build], такие как helpl, aapt, dexdump и dx, являются обычно называемый инструментами сборки Android или Android Development Tools (ADT), поэтому вам редко приходится ссылаться на эти инструменты напрямую. Как общее правило, вы должны полагаться на инструменты сборки или плагин ADT на назовите их по мере необходимости.

Источник

В любом случае, это синтез различий между инструментами, инструментами платформы и инструментами построения:

  • Android SDK Tools
    • Местоположение: $ANDROID_HOME/tools
    • Основные инструменты: ant скрипты (для создания APK) и ddms (для отладки)
  • Платформы для Android SDK
    • Местоположение: $ANDROID_HOME/platform-tools
    • Основной инструмент: adb (для управления состоянием эмулятора или устройства Android)
  • Конструкторы Android SDK
    • Местоположение: $ANDROID_HOME/build-tools/$VERSION/
    • Документация
    • Основные инструменты: aapt (для генерации R.java и unaligned, unsigned APK), dx (для преобразования байт-кода Java в байт-код Dalvik) и zipalign (для оптимизации ваших APK)
  • 0
    zipalign перейдет в пакет build-tools в r20.
  • 1
    Спасибо Джеймс. Я обновил ответ, чтобы отразить этот шаг. Чтобы быть очень точным, кажется, что движение было сделано с версией 19.1.0 в соответствии с developer.android.com/tools/revisions/build-tools.html
Показать ещё 4 комментария
36

Инструменты сборки SDK для Android используются для отладки, сборки, запуска и тестирования приложения для Android.

Android Build Tools можно использовать для разработки и работы из командной строки или IDE (например, Eclipse или Android Studio).

Также используется для подключения устройств Android и их root (fastboot, adb и т.д.)

Всегда используйте последнюю. (рекомендуется)

Дополнительная информация о инструментах и ​​командах Android Buildings

  • 0
    Спасибо за информацию. Вы имеете в виду, что Android Build Tools «используется для подключения устройств Android и их рутинга»? Adbis часть инструментов платформы Android. Зависит ли adb от функций Android Build Tools? Если так, то как? Я любопытный.
  • 0
    adb может использоваться для извлечения и извлечения файлов из командной строки. (Дополнительные функции.) Fastboot можно использовать для прошивки пользовательских загрузчиков. Однако эти команды бесполезны для разработки под Android, если вы не используете терминал для разработки. Все доступно в самой IDE.
Показать ещё 6 комментариев
11

Я оставлю обсуждение различий между Build Tools, Platform Tools и Tools другими. С практической точки зрения вам нужно только знать ответ на свой второй вопрос:

Какую версию следует использовать?

Ответ: используйте самую последнюю версию.

Для тех, кто использует Android Studio с Gradle, buildToolsVersion должен быть установлен в файле build.gradle (Module: app).

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"

    ...
}

Где я могу получить последний номер версии Build Tools?

Откройте Android SDK Manager.

  • В Android Studio перейдите в Инструменты > Android > Менеджер SDK > Внешний вид и поведение > Системные настройки > Android SDK
  • Выберите вкладку Инструменты SDK.
  • Выберите Инструменты создания SDK для Android из списка
  • Проверить информацию о пакете.

Последний элемент отобразит самую последнюю версию.

Изображение 109625

Убедитесь, что он установлен, а затем введите этот номер как buildToolsVersion в build.gradle (Module: app).

  • 1
    Если существует 24.0.2, почему 24.0.1 и 24 не помечены как устаревшие (автономный менеджер позволяет отображать / скрывать устаревшие пакеты)?
  • 3
    @user1803551 user1803551, не всегда желательно автоматически использовать самую последнюю версию инструментов сборки. Например, скажем, вы уже тщательно протестировали свое приложение с определенной версией инструментов сборки. Если вы обновите свои инструменты сборки, возможно, что изменение там может что-то сломать в вашем приложении. Разрешение разработчикам продолжать использовать старые версии инструментов сборки позволяет им быть уверенными, что их сборка будет работать так, как ожидалось. Если вы посмотрите на шаблон того, что объявлено устаревшим, вы увидите, что 24 и 24.0.1 в конечном итоге будут объявлены устаревшими.
8

Подробнее об этом можно узнать в Android - средства командной строки


TL;DR:

Инструменты SDK:

  • Android SDK Manager (sdkmanager)
  • AVD Manager (avdmanager)
  • Сервер мониторинга отладки Dalvik (ddms)

Инструменты сборки:

  • подписавшего
  • Proguard
  • zipalign
  • jobb

Инструменты платформы:

  • ADB
  • helpl, aapt, dexdump и dx
  • bmgr
  • LogCat
  • 0
    aidl, aapt, dexdump и dx - это компоненты инструментов сборки, а не инструментов платформы
8

Правильный ответ

Отключить компоненты, относящиеся к построению Android SDK, из компонента платформы-инструментов, чтобы инструменты сборки могли обновляться независимо от компонентов интегрированной среды разработки (IDE).

ссылка (развернуть Редакция 17)

  • 4
    Спасибо за информацию. Если более новые версии являются просто улучшенными более старыми версиями, почему у Google нет только одного Build-tools и продолжает его обновлять, например, SDK Tools и Platform-tools? Другими словами, в чем причина наличия более старых версий?
  • 0
    @Hong Я не знаю
Показать ещё 3 комментария
2

Android SDK Build Tools - это именно то, что, по их словам, называется; инструменты для создания приложений для Android. Очень важно использовать последнюю версию средств сборки (выбранную автоматически с помощью IDE с помощью Android SDK), но причина, по которой остались старые версии, заключается в поддержке обратной совместимости, то есть, если ваши проекты зависят от более старые версии средств сборки.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню