¿Cuáles son las herramientas de comstackción, las herramientas de plataforma y las herramientas de Android SDK? ¿Y qué versión debería usarse?

Sé que esta es una pregunta muy rudimentaria, pero para mi sorpresa, no pude encontrar ningún documento sobre Android SDK Build-tools. Además de las herramientas de Android SDK y las herramientas de la plataforma SDK de Android, hay un montón de herramientas de comstackción de Android SDK, como se muestra en la captura de pantalla adjunta. ¿Alguien podría señalar a una fuente que los explique a todos y ayudar a aclarar cómo se selecciona una determinada versión de Android SDK Build-tools para su uso?

enter image description here

Editado (2014-02-27) :

Todavía no entiendo completamente todas las herramientas. El siguiente es mi entendimiento limitado basado en los últimos documentos de Google:

  • Las herramientas de comstackción SDK de Android solían ser componentes de las herramientas de Android SDK Platform . Se han desacoplado de las herramientas de plataforma Android SDK, de modo que las herramientas de comstackción se pueden actualizar independientemente de los componentes del entorno de desarrollo integrado (IDE).
  • Las herramientas de Android SDK Platform están personalizadas para admitir las características de la última plataforma de Android. Son compatibles con versiones anteriores, por lo que siempre utiliza la última actualización de Android SDK Platform-tools, incluso su aplicación se dirige a plataformas Android más antiguas.
  • Las herramientas SDK son independientes de la plataforma y son necesarias independientemente de la plataforma Android en la que esté desarrollando.

Todavía no entiendo la lógica de sacar las herramientas de comstackción de Android SDK de las herramientas de Android SDK Platform, que tiene una sola instancia y es fácil de administrar la actualización. La única razón posible que se me ocurre es que algunas aplicaciones tienen que depender de componentes de comstackción más antiguos para construirlas. El documento de Google menciona esto, pero no explica por qué. Al observar las notas de la versión, notará que las actualizaciones de las herramientas de comstackción de SDK de Android son principalmente para corregir errores o agregar soporte para plataformas nuevas. La única razón por la que se me ocurre que algunas aplicaciones usan versiones anteriores de las herramientas de comstackción de SDK de Android es que dependen de ciertos errores de las herramientas de comstackción de Android SDK . Estas aplicaciones no funcionarían normalmente sin estar comstackdas con estos errores. Me gustaría que Google pudiera explicarlo mejor dando uno o dos ejemplos que muestren por qué estos errores en las herramientas son críticos para ciertas aplicaciones.

Acerca de la versión de Android SDK Build-tools , la respuesta es

De forma predeterminada, Android SDK usa la versión descargada más reciente de Build Tools.

Fuente

En Eclipse, puede elegir una versión específica utilizando la propiedad sdk.buildtools en el archivo project.properties .

Parece que no hay una página oficial que explique todas las herramientas de comstackción. Esto es lo que dice el equipo de Android sobre esto.

Las herramientas [comstackción], como aidl, aapt, dexdump y dx, normalmente son llamadas por las herramientas de comstackción de Android o las herramientas de desarrollo de Android (ADT), por lo que rara vez necesita invocar estas herramientas directamente. Como regla general, debe confiar en las herramientas de comstackción o el complemento ADT para llamarlos según sea necesario.

Fuente

De todos modos, aquí hay una síntesis de las diferencias entre las herramientas, las herramientas de plataforma y las herramientas de comstackción:

  • Herramientas de Android SDK
    • Ubicación: $ANDROID_HOME/tools
    • Herramientas principales: scripts ant (para crear sus APK) y ddms (para la depuración)
  • Herramientas de plataforma Android SDK
    • Ubicación: $ANDROID_HOME/platform-tools
    • Herramienta principal: adb (para administrar el estado de un emulador o un dispositivo Android)
  • Android SDK Build-tools
    • Ubicación: $ANDROID_HOME/build-tools/$VERSION/
    • Documentación
    • Herramientas principales: aapt (para generar R.java y APK sin alinear y sin firmar), dx (para convertir el bytecode de Java a bytecode de Dalvik) y zipalign (para optimizar sus APK)

Las herramientas de comstackción de Android SDK se utilizan para depurar, comstackr, ejecutar y probar una aplicación de Android.

Las herramientas de comstackción de Android se pueden usar para desarrollar y trabajar desde línea de comandos o IDE (es decir, Eclipse o Android Studio).

También se usa para conectar dispositivos Android y rootearlos (fastboot, adb y más …)

Siempre use lo último. (Recomendado)

Más información sobre herramientas y comandos de comstackción de Android

Dejaré la discusión sobre la diferencia entre herramientas de comstackción, herramientas de plataforma y herramientas para otros. Desde un punto de vista práctico, solo necesitas saber la respuesta a tu segunda pregunta:

¿Qué versión debería usarse?

Respuesta: use la versión más reciente.

Para aquellos que usan Android Studio con Gradle, buildToolsVersion debe establecerse en el build.gradle (Module: app).

 android { compileSdkVersion 25 buildToolsVersion "25.0.2" ... } 

¿Dónde obtengo el número de versión más reciente de Herramientas de comstackción?

Abra el Administrador de Android SDK.

  • En Android Studio, vaya a Herramientas > Android > Administrador de SDK > Apariencia y comportamiento > Configuración del sistema > Android SDK
  • Elija la pestaña Herramientas de SDK .
  • Seleccione Herramientas de comstackción de Android SDK de la lista
  • Verifique los detalles del paquete .

El último elemento mostrará la versión más reciente.

enter image description here

Asegúrese de que esté instalado y luego escriba ese número como buildToolsVersion en build.gradle (Módulo: aplicación).

Puede encontrar detalles sobre estos en este Android – Herramientas de línea de comando


tl; dr:

Herramientas de SDK:

  1. Administrador de Android SDK (sdkmanager)
  2. Administrador de AVD (avdmanager)
  3. Dalvik Debug Monitor Server (ddms)

Herramientas de comstackción:

  1. firmante
  2. ProGuard
  3. zipalign
  4. jobb

Herramientas de plataforma:

  1. adb
  2. aidl, aapt, dexdump y dx
  3. bmgr
  4. logcat

La respuesta correcta es

Se desacoplaron los componentes específicos de comstackción del SDK de Android desde el componente de herramientas de plataforma, de modo que las herramientas de comstackción se pueden actualizar independientemente de los componentes del entorno de desarrollo integrado (IDE).

link (ampliar la revisión 17)

Las herramientas de comstackción de Android SDK son exactamente lo que su nombre dice que son; herramientas para construir aplicaciones de Android. Es muy importante usar la última versión de herramientas de comstackción (seleccionada automáticamente por su IDE a través del SDK de Android), pero la razón por la cual las versiones anteriores quedan allí es para compatibilidad retroactiva, es decir, si sus proyectos dependen de versiones anteriores de Build Tools.