Las herramientas de compilación son un componente obligatorio en la creación de apps con el SDK de Android. Están instaladas en el directorio <sdk>/build-tools/
.
Mantén siempre actualizado el componente de herramientas de compilación. Para ello, descarga la versión más reciente con Android SDK Manager. Si usas el complemento de Android para Gradle 3.0.0 o una versión posterior, el proyecto utilizará automáticamente una versión predeterminada de las herramientas de compilación que especifique el complemento. Para usar una versión diferente de las herramientas de compilación, especifícala usando buildToolsVersion
en el build.gradle
del módulo como se indica a continuación:
Groovy
android { buildToolsVersion "34.0.0" ... }
Kotlin
android { buildToolsVersion = "34.0.0" ... }
Revisiones
Las siguientes secciones proporcionan notas sobre las actualizaciones de las herramientas de compilación. Para determinar qué revisiones de esas herramientas están disponibles en el SDK, consulta la ficha Paquetes instalados en SDK Manager de Android.
Herramientas de compilación, revisión 34.0.0 RC3 (abril de 2023)
Se realizaron correcciones de errores generales y mejoras.
Herramientas de compilación, revisión 34.0.0 (febrero de 2023)
Esta actualización admite la compilación con las APIs de vista previa de Android 14.
Herramientas de compilación, revisión 33.0.2 (febrero de 2023)
Esta actualización corrige el siguiente error:
-
La versión 33.0.0 de
core-lambda-stubs.jar
no es la misma en macOS que en Linux y Windows (consulta el error #237299698).
Herramientas de compilación, revisión 33.0.1 (noviembre de 2022)
Esta actualización corrige el siguiente error:
- El AIDL falla con las herramientas de compilación 33.0.0 (consulta el error #236167971).
Herramientas de compilación, revisión 30.0.0 rc4 (mayo de 2020)
Esta actualización admite la compilación con las API de vista previa de Android 11.
Herramientas de compilación, revisión 29.0.3 (enero de 2020)
Esta actualización corrige el siguiente error:
- Problema de compilación con Renderscript en macOS Catalina. (Consulta el problema 142590626).
Herramientas de compilación, revisión 29.0.2 (agosto de 2019)
Esta actualización corrige el siguiente error:
Herramientas de compilación, revisión 29.0.0 (junio de 2019)
Esta actualización admite la compilación con API de nivel 29.
Herramientas de compilación, revisión 28.0.3 (septiembre de 2018)
Esta actualización incluye compatibilidad con el complemento de Gradle para Android 3.2.0 y corrige los siguientes problemas:
-
Se corrigió un error de la biblioteca JNI que causaba que las apps fallaran cuando se llamaba a
androidx.renderscript.RenderScript.create()
. -
Se corrigió un error que causaba errores de compilación
Program type already present
con recursosandroidx.annotation
.
Herramientas de compilación, revisión 28.0.2 (agosto de 2018)
Incluye la versión más reciente de D8.
Herramientas de compilación, revisión 27.0.3 (diciembre de 2017)
Mejora la compatibilidad con la compilación de lambdas cuando se habilitan las funciones del lenguaje Java 8.
Herramientas de compilación, revisión 27.0.2 (diciembre de 2017)
Mejora la compatibilidad con las funciones del lenguaje Java 8.
Herramientas de compilación, revisión 27.0.1 (noviembre de 2017)
Agrega compatibilidad con multidex heredado para APK de prueba. (Problema #37324038)
Herramientas de compilación, revisión 26.0.2 (octubre de 2017)
Además de las correcciones de errores generales, esta versión incluye las siguientes actualizaciones:
- Actualiza
apksigner
a la versión 0.8:- Se agregó compatibilidad con Java 9. (Problema #37137869)
-
Se agregó el parámetro
--pass-encoding
para procesar claves y almacenes de claves encriptados con contraseñas que no son ASCII. Si cambias a Java 9 yapksigner
no puede desencriptar el almacén de claves o la clave, usa este parámetro a fin de especificar la codificación de caracteres que usaste para crear el almacén de claves o la clave. Para obtener más información, consulta la documentación deapksigner
o ejecutaapksigner sign --help
desde la línea de comandos. -
Se mejoró el mensaje de error que se muestra cuando
apksigner
no puede verificar una firma de JAR debido a un resumen o un algoritmo de firma incompatibles. (Problema #63525618)
-
Se agregó compatibilidad con el modo de daemon AAPT2 cuando se usa el complemento de Android para Gradle
3.0.0-beta7
o una versión posterior.
Herramientas de compilación, revisión 26.0.1 (julio de 2017)
Además de las correcciones de errores generales, esta versión restablece apksigner
al paquete de herramientas de compilación (se omitió por error en la versión 26.0.0) y cuenta con las siguientes actualizaciones de la herramienta:
- Agrega compatibilidad con PKCS #11 para permitir la firma con claves que se mantienen en el hardware seguro. (Problema #37140484)
- Agrega compatibilidad para la carga de proveedores de JCA adicionales antes de la firma.
- Hace una mención especial de
android:targetSandboxVersion
al verificar los APK. - Al firmar, rechaza los APK con archivos que incluyen los caracteres especiales "CR" (retorno de carro), "LF" (avance de línea) o "NUL" (nulo) en el nombre de archivo.
- Corrige
apksigner.bat
para procesar correctamente los parámetros que contienen espacios. (Problema #38132450) - Corrige un error en la verificación de firmas de JAR cuando hay varios resúmenes presentes para la misma entrada en
MANIFEST.MF
. (Problema #38497270)
Herramientas de compilación, revisión 26.0.0 (junio de 2017)
Agrega compatibilidad para compilación con API de nivel 26, y contiene correcciones de errores generales.
Herramientas de compilación, revisión 25.0.3 (abril de 2017)
Actualizaciones a apksigner
:
- Se agregó el parámetro
--in
para simetría con el parámetro--out
existente. - Si no especificas la contraseña de clave con
--key-pass
,apksigner
usa la contraseña del almacén de claves como contraseña de clave. Sin embargo, si la clave requiere una contraseña diferente, ahora se solicita el ingreso de la contraseña de la clave desde la línea de comandos (Problema #37134986) - Se agregó compatibilidad con
jarsigner
para contraseñas ajenas a ASCII. (Problema #37135737)
Herramientas de compilación, revisión 25.0.2 (diciembre de 2016)
Correcciones de errores.
Herramientas de compilación, revisión 25.0.1 (noviembre de 2016)
Esta versión incluye correcciones de errores y las siguientes mejoras de apksigner
:
- Se agregó compatibilidad para APK con nombres de entradas JAR ofuscados.
- El interruptor
--print-certs
ahora también vuelca las huellas digitales MD5.
Herramientas de compilación, revisión 25.0.0 (octubre de 2016)
Corrección de errores para la cadena de herramientas de Jack:
- Se corrigió el error por el que Jack admitía archivos fuente ajenos a ASCII. (Problema #218892)
- Se corrigió el error que causaba una instancia de
AssertionError
durante algunas compilaciones. (Problema #208414)
Herramientas de compilación, revisión 24.0.3 (septiembre de 2016)
- Se agregó
apksigner
, una herramienta de firma de APK para reemplazarjarsigner
. De forma predeterminada,apksigner
firma los APK con el esquema de firma de JAR convencional (el que usajarsigner
) y el esquema de firma de APK v2 presentado en Android 7.0 (API nivel 24). Cualquier modificación a un APK firmado con el esquema de firma de APK v2 invalida la firma. Por lo tanto, el procesamiento posterior del APK, comozipalign
, debe realizarse antes de invocar aapksigner
, no después. La invocación dezipalign
antes deapksigner
funciona correctamente porqueapksigner
conserva la alineación y la compresión del APK (a diferencia dejarsigner
).
Herramientas de compilación, revisión 23.0.3 (marzo de 2016)
- Se corrigieron errores en la biblioteca de compatibilidad de RenderScript en dispositivos arm64.
- Se corrigieron errores en la biblioteca de compatibilidad de RenderScript en determinados dispositivos Jelly Bean.
- Se agregó compatibilidad con
renderscriptTargetAPI 21+
cuando se usa el complemento de Android para Gradle, revisión 2.1.0 y versiones posteriores.
Herramientas de compilación, revisión 23.0.2 (noviembre de 2015)
- Se mejoró el rendimiento de combinación de la herramienta
dx
. - Se corrigieron errores del compilador RenderScript para Windows.
Herramientas de compilación, revisión 23.0.1 (octubre de 2015)
Se corrigieron errores en las herramientas RenderScript.
Herramientas de compilación, revisión 23.0.0 (agosto de 2015)
Se agregó compatibilidad para la versión Android 6.0 (nivel de API 23).
Herramientas de compilación, revisión 22.0.1 (marzo de 2015)
Se corrigieron problemas de compatibilidad con kernels de RenderScript en dispositivos Android 4.4 (nivel de API 19) a Android 4.1 (nivel de API 16).
Herramientas de compilación, revisión 22.0.0 (marzo de 2015)
Se agregó compatibilidad con Android 5.1 (nivel de API 22).
Herramientas de compilación, revisión 21.1.2 (febrero de 2015)
Se corrigió el error de compilación de diseños de datos en modo de 32 bits.
Herramientas de compilación, revisión 21.1.1 (noviembre de 2014)
Se corrigieron errores de secuencias de comandos multidex.
Herramientas de compilación, revisión 21.1 (octubre de 2014)
Se agregó compatibilidad con archivos multidex para APK y compatibilidad con Jack para abordar el límite de referencia del método de 64 K.
Herramientas de compilación, revisión 21.0.2 (octubre de 2014)
Se realizaron actualizaciones completas para Eclipse ADT a fin de resolver problemas de inestabilidad en plataformas Windows.
Herramientas de compilación, revisión 21.0.1 (octubre de 2014)
Se realizaron actualizaciones iniciales para Eclipse ADT en Windows. Usa la revisión 21.0.2.
Herramientas de compilación, revisión 21.0.0 (octubre de 2014)
- Notas generales:
-
- Se agregó compatibilidad con Android 5.0 (nivel de API 21).
- RenderScript ahora es compatible con la operación continua de 32/64 bits para los niveles de API 21 y posteriores.
- Se corrigió el error relacionado con el sistema de compilación de Gradle cuando se usaba el complemento JaCoCo (Problema #69174).
- Se agregó una opción input-list para uso con líneas de comando largas en Windows.
Herramientas de compilación, revisión 20.0.0 (junio de 2014)
- Notas generales:
-
- Se agregó compatibilidad para Android Wear.
Herramientas de compilación, revisión 19.1.0 (mayo de 2014)
- Notas generales:
-
- Se agregó
zipalign
a las herramientas de compilación. - Se modificó
aapt
para omitir archivos XML que no se pueden compilar.
- Se agregó
Herramientas de compilación, revisión 19.0.3 (marzo de 2014)
Se corrigió un error de compatibilidad con RenderScript.
Herramientas de compilación, revisión 19.0.2 (febrero de 2014)
- Se corrigieron errores de compilación de RenderScript:
-
- Se corrigió un error relacionado con la codificación de código de bits de RenderScript (Problema #64775)
- Se corrigió un error de símbolos matemáticos faltantes de RenderScript. (Problema #64110)
Herramientas de compilación, revisión 19.0.1 (diciembre de 2013)
- Se corrigieron varios errores de compilación:
-
- Se corrigió la compatibilidad para compilación de RenderScript en modo NDK con Gradle.
- Se corrigió un problema
BufferOverflowException
en la compilación dx. (Problema 61710).
Herramientas de compilación, revisión 19 (octubre de 2013)
Se agregó compatibilidad para objetivos de compilación de Android 4.4 (nivel de API 19).
Herramientas de compilación, revisión 18.1.1 (septiembre de 2013)
Se corrigieron varios errores menores de compilación.
Herramientas de compilación, revisión 18.1.0 (septiembre de 2013)
Se corrigió el error con el modo de compatibilidad de RenderScript.
Herramientas de compilación, revisión 18.0.1 (julio de 2013)
Se agregó compatibilidad para objetivos de compilación de Android 4.3 (nivel de API 18).
Herramientas de compilación, revisión 17 (mayo de 2013)
Versión inicial.
- Notas generales:
-
- Se incluye compatibilidad para objetivos de compilación en Android 4.2 (nivel de API ç 17).
- Se desacoplaron los componentes específicos de la compilación del SDK de Android de los componentes de las herramientas de la plataforma, de modo que se puedan actualizar las herramientas de compilación independientemente de los componentes del entorno de desarrollo integrado (IDE).