Android gradle: buildtoolsVersion vs compileSdkVersion

Respuestas:

199

compileSdkVersion es la versión API de Android con la que compila.

buildToolsVersiones la versión de los compiladores (aapt, dx, compilador de renderscript, etc.) que desea usar. Para cada nivel de API (comenzando con 18), hay una versión coincidente de .0.0.

En IO 2014, lanzamos API 20 y herramientas de compilación 20.0.0 para acompañarlo.

Entre los lanzamientos de Android, lanzaremos actualizaciones de los compiladores, por lo que lanzaremos las versiones .0.1, .0.2, etc. Debido a que no queremos actualizar silenciosamente estas versiones, depende de usted pasar a la versión nueva versión cuando sea conveniente para ti.

Puede usar una versión superior de las herramientas de compilación que su compileSdkVersion, para elegir un compilador nuevo / mejor sin cambiar lo que compila su aplicación.

Xavier Ducrohet
fuente
10
¿Es posible usar una buildToolsVersion más alta en una compileSdkVersion más baja, digamos 20.0.0 buildToolsVersion en una compileSdkVersion 18.0.0?
Glide
55
@Glide sí, las herramientas de compilación admitirán versiones anteriores.
Xavier Ducrohet
1
@XavierDucrohet ¿Tengo que especificar buildToolsVersion? Recuerdo que leí en alguna parte que la última versión de las herramientas de compilación se selecciona automáticamente. Intenté eliminar buildToolsVersion, pero Android Studio no está contento con eso.
Hong
11
¿Alguien con un enlace hace un documento sobre lo que realmente está sucediendo detrás de escena con compileSdkVersion, buildToolsVersion, minSdkVersion y targetSdkVersion? Me gustaría entenderlo correctamente.
powder366
2
@ powder366 Vea esta valiosa publicación de Ian Lake: - medium.com/google-developers/…
maveroid el
46

Actualización de Android Studio 3.0

Ya no es tan importante saber exactamente buildToolsVersion como solía ser porque ahora se elige automáticamente.

La documentación dice:

Ya no necesita especificar una versión para las herramientas de compilación (por lo tanto, ahora puede eliminar la android.buildToolsVersionpropiedad). De forma predeterminada, el complemento usa automáticamente la versión mínima requerida de herramientas de compilación para la versión del complemento de Android que está utilizando.

Encontrar el número de versión exacto

Originalmente vine aquí para saber cómo saber el número exacto de versión de la versión más reciente de Build Tools (en los días en que esto necesitaba actualizarse manualmente). Si aún necesita hacer esto, puede encontrarlo de la siguiente manera:

Vaya a Herramientas> Administrador de SDK> Herramientas de SDK (pestaña) . Seleccione Android SDK Build Tools de la lista y marque Mostrar detalles del paquete . El último elemento mostrará la versión más reciente.

ingrese la descripción de la imagen aquí

En la imagen de arriba, puedo ver que he buildToolsVersion 27.0.3instalado. Hay una rcversión más reciente (candidato de lanzamiento), pero no la he instalado. Lo haré cuando salga la versión estable.

Suragch
fuente
Para ser claros, en AS 3.2 la ruta a lo anterior es "Archivo => Configuración => Apariencia y Comportamiento ..."
JL_SO