Complemento de Android para Gradle, revisión 1.5.0 (noviembre de 2015)
- Dependencias:
- Notas generales:
-
- Se integró el complemento de vinculación de datos al complemento de Android para Gradle. Para habilitarlo, agrega el siguiente código a cada archivo
build.gradle
del proyecto que use el complemento. - Se agregó una nueva API de transformación para permitir que complementos de terceros manipulen los archivos
.class
compilados antes de que se conviertan a archivos.dex
. Esta API simplifica la inyección de manipulaciones de clase personalizada a la vez que ofrece más flexibilidad en relación con lo que se puede manipular. Para insertar una transformación en una compilación, crea una nueva clase mediante la implementación de una de las interfaces deTransform
y regístrala conandroid.registerTransform(theTransform)
oandroid.registerTransform(theTransform, dependencies)
. No es necesario conectar las tareas. Ten en cuenta lo siguiente sobre la API de transformación: - Una transformación se puede aplicar a una o más de las siguientes opciones: el proyecto actual, los subproyectos y las bibliotecas externas.
- Una transformación se registra globalmente y se aplica así a todas las variantes.
- El procesamiento de código interno, mediante la biblioteca de cobertura de código Java (JaCoCo), ProGuard y MultiDex, ahora usa la API de Transform. Sin embargo, Java Android Compiler Kit (Jack) no usa esta API: solo la usa la ruta de acceso de código
javac/dx
. - Gradle ejecuta las transformaciones en este orden: JaCoCo, complementos de terceros, ProGuard. El orden de ejecución de complementos de terceros coincide con el orden en el que los complementos de terceros agregan las transformaciones; los desarrolladores de complementos de terceros no pueden controlar el orden de ejecución de las transformaciones mediante una API.
- Se dejó de usar el captador
dex
desde la claseApplicationVariant
. Ya no es posible acceder a la tareaDex
a través de la API de la variante porque ahora se logra mediante una transformación. Por el momento, no hay ningún reemplazo para controlar el proceso de dex. - Se corrigió la compatibilidad incremental con elementos.
- Se mejoró la compatibilidad con MultiDex, que ahora está disponible para proyectos de prueba. Asimismo, las pruebas ahora tienen automáticamente la dependencia
com.android.support:multidex-instrumentation
. - Se agregó la capacidad de informar correctamente un error de compilación de Gradle y la causa subyacente del error cuando la compilación de Gradle invoca tareas asíncronas y hay un error en el proceso del trabajador.
- Se agregó compatibilidad para la configuración de una interfaz binaria de la aplicación (ABI) en variantes que contienen varias ABI.
- Se agregó compatibilidad para una lista delimitada por comas de números de serie de dispositivos para la variable de entorno
ANDROID_SERIAL
cuando se instalan o ejecutan pruebas. - Se corrigió un error de instalación en dispositivos que ejecutan Android 5.0 (nivel de API 20) y versiones posteriores cuando el nombre del APK contiene un espacio.
- Se corrigieron varios errores relacionados con los resultados de Android Asset Packaging Tool (AAPT).
- Se agregó compatibilidad con instrumentación incremental de JaCoCo para obtener compilaciones incrementales más rápidas. El complemento de Android para Gradle ahora invoca directamente el instrumentador de JaCoCo. Para forzar una versión más reciente del instrumentador de JaCoCo, debes agregarla como dependencia de la secuencia de comandos de la compilación.
- Se corrigió la compatibilidad con JaCoCo, de modo que omite los archivos que no son clases.
- Se agregó compatibilidad con elementos de diseño de vectores para generar archivos PNG en el tiempo de compilación a fin de admitir la retrocompatibilidad.
El complemento de Android para Gradle genera archivos PNG para cada interfaz dibujable en vector que se encuentra en un directorio de recursos que no especifica una versión de API, o que especifica un atributo
android:minSdkVersion
de 20 o menos en el elemento<uses-sdk>
del manifiesto de la app. Puedes definir las densidades de PNG mediante la propiedadgeneratedDensities
en las seccionesdefaultConfig
oproductFlavor
de un archivobuild.gradle
. - Se agregó el uso compartido del
android.jar
simulable, que el complemento genera solo una vez y lo usa para prueba de unidades. Varios módulos, comoapp
ylib
, ahora lo comparten. Borra$rootDir/build
para volver a generarlo. - Se cambió el procesamiento de los recursos de Java para que se lleve a cabo antes de las tareas de ofuscación, en lugar de durante el empaquetado del APK. Este cambio permite que estas tareas tengan la oportunidad de adaptarse a los recursos de Java según la ofuscación de paquetes.
- Se corrigió un error con el código de la interfaz nativa de Java (JNI) en el complemento de la biblioteca experimental.
- Se agregó la capacidad de configurar la versión de la plataforma de manera independiente del atributo
android:compileSdkVersion
en el complemento de la biblioteca experimental.
android { dataBinding { enabled = true } }
android { dataBinding { enabled = true } }
- Se integró el complemento de vinculación de datos al complemento de Android para Gradle. Para habilitarlo, agrega el siguiente código a cada archivo
Versión mínima | Versión predeterminada | Notas | |
---|---|---|---|
Gradle | 2.2.1 | 2.2.1 | Para obtener más información, consulta cómo actualizar Gradle. |
Herramientas de desarrollo del SDK | 21.1.1 | 21.1.1 | Instala o configura las herramientas de compilación del SDK. |