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

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

 ![enter image description here]()

  **Отредактировано (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 смог объяснить это лучше, указав один или два примера, показывающие, почему эти ошибки в инструментах имеют решающее значение для определенных приложений.

 

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

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

 [Источник](https://developer.android.com/tools/revisions/build-tools.html)

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

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

 (function(w, d, n, s, t) {
 w[n] = w[n] || [];
 w[n].push(function() {
 Ya.Context.AdvManager.render({
 blockId: "R-A-248011-3",
 renderTo: "yandex\_rtb\_R-A-248011-3",
 async: true
 });
 });
 t = d.getElementsByTagName("script")[0];
 s = d.createElement("script");
 s.src = "//an.yandex.ru/system/context.js";
 s.async = true;
 t.parentNode.insertBefore(s, t);
 })(this, this.document, "yandexContextAsyncCallbacks");

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

 [Источник](https://developer.android.com/tools/help/index.html)

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

* **Android SDK Tools**
	+ Местоположение: `$ANDROID_HOME/tools
	+ Основные инструменты: ant скрипты (для создания APK) и ddms (для отладки)
 Платформы для Android SDK
	+ Местоположение: $ANDROID_HOME/platform-tools`
	+ Основной инструмент: `adb` (для управления состоянием эмулятора или устройства Android)
* **Конструкторы Android SDK**
	+ Местоположение: `$ANDROID_HOME/build-tools/$VERSION/`
	+ [Документация](https://developer.android.com/tools/revisions/build-tools.html)
	+ Основные инструменты: `aapt` (для генерации R.java и unaligned, unsigned APK), `dx` (для преобразования байт-кода Java в байт-код Dalvik) и `zipalign` (для оптимизации ваших APK)

 

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

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

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

 (function(w, d, n, s, t) {
 w[n] = w[n] || [];
 w[n].push(function() {
 Ya.Context.AdvManager.render({
 blockId: "R-A-248011-4",
 renderTo: "yandex\_rtb\_R-A-248011-4",
 async: true
 });
 });
 t = d.getElementsByTagName("script")[0];
 s = d.createElement("script");
 s.src = "//an.yandex.ru/system/context.js";
 s.async = true;
 t.parentNode.insertBefore(s, t);
 })(this, this.document, "yandexContextAsyncCallbacks");

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

 [Дополнительная информация о инструментах и командах Android Buildings](https://developer.android.com/tools/help/index.html)

 

Я оставлю обсуждение различий между 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 из списка
* Проверить информацию о пакете.

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

 [![введите описание изображения здесь]()](/img/a9b6f27270516876477a3d7deaeca43b.png)

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

 

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

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

 [ссылка (развернуть Редакция 17)](https://developer.android.com/tools/revisions/build-tools.html)

 

  **Подробнее об этом можно узнать в** [Android - средства командной строки](https://developer.android.com/studio/command-line/index.html)

---

  **TL;DR:**

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

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

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

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

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

* ADB
* helpl, aapt, dexdump и dx
* bmgr
* LogCat

 

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