Migrating to Android Gradle plugin 3.0.0

WOJTEK KALICINSKI: Android
Studio 3.0 es una versión importante y, con él, también lanzamos la
versión 3 del complemento Android Gradle . Se basa en las nuevas
API de Gradle, admite la resolución de dependencias con reconocimiento de variantes
y puede acelerar enormemente las
compilaciones de varios módulos. Desafortunadamente, es posible que
tengas que realizar algunas actualizaciones en la
configuración de Gradle cuando cambies a la nueva versión del complemento. Son sólo unos pocos pasos y
vale la pena el esfuerzo. Terminará con un
archivo de compilación más fácil de mantener y una compilación más rápida. Cuando abra por primera vez su
proyecto existente en Android Studio 3, se le pedirá
que actualice la versión del complemento de Android . También requerimos, como
mínimo, Gradle 4.1, y esto
también se solucionará automáticamente. Si desea realizar
estos cambios manualmente, debe marcar dos lugares. Primero, en el
archivo Gradle de compilación principal, cambie la versión de AGP a 3.0.

A continuación, abra el
archivo de propiedades de Gradle Wrapper y edite la URL para que apunte a 4.1. Por cierto, como
paso opcional, puede agregar el nuevo repositorio de Google Maven
a su archivo de compilación principal. Lo usamos para distribuir
nuestros artefactos de compilación, como la biblioteca de soporte. Y con la última
versión de Gradle, puedes simplemente hacer referencia a
él con una palabra clave de Google. Si intenta compilar su
aplicación ahora con el nuevo complemento y está usando
variantes en sus módulos, lo más probable es que
obtenga este error. Anteriormente,
las dimensiones aromatizadas eran opcionales. Para que la resolución de
tipos y módulos de biblioteca sea más sólida,
ahora debe especificar una dimensión
para cada tipo. El complemento de Android Gradle
utilizará automáticamente una versión coincidente
de las bibliotecas consumidas si puede encontrar una. Si la biblioteca define
dimensiones de tipo que no están presentes en su
archivo de compilación principal, debe realizar una
selección explícita utilizando la nueva declaración de
estrategia de dimensión faltante en el módulo que
consume la biblioteca que enumera los tipos que desea
combinar en orden.

Y a la inversa, si un
módulo de biblioteca no tiene un tipo que coincida con
uno definido en su aplicación, tendrá que
especificar un respaldo. Utilice la
palabra clave de reserva coincidente en la definición de tipo de la aplicación seguida
de los posibles nombres de tipo que se seleccionarán
de los módulos de la biblioteca. Puede hacer lo mismo
con los tipos de compilación siempre que la aplicación incluya
un tipo de compilación que no incluye una dependencia de biblioteca. Un buen efecto secundario
de estos cambios es que ya no es
necesario especificar qué variante
desea consumir cuando depende de un módulo de biblioteca. Debes eliminar
estas líneas adicionales de la sección de dependencia y
solo incluir la biblioteca una vez. También puede eliminar
PublishNonDefault true de los módulos de la biblioteca. Para
dependencias externas, todavía está bien usar un
especificador de variante si solo desea que lo agreguen a ciertas compilaciones. Por cierto, aquí hay un
detalle más que cambió. El complemento 3 de Android está adoptando
nuevas configuraciones de dependencia introducidas en Gradle. Como puede ver en
la tabla aquí, esto es solo un cambio de nombre
para la mayoría de los tipos de dependencia.

La compilación se convierte en API y la
proporcionada se convierte en solo compilación. Sin embargo, hay
una nueva configuración llamada implementación que,
cuando se aplica correctamente, puede generar
mejoras significativas en el tiempo de compilación. Debería preferir usar la
configuración de implementación siempre que un módulo solo use
la dependencia internamente y no tenga la intención de filtrar
su API a otros módulos. De esa manera, cada vez que
cambia la dependencia, limita la cantidad de
módulos que de otro modo tendrían que volverse a compilar. Estos son los
cambios básicos que todo proyecto de Android debe realizar al
migrar al complemento 3 de Android Gradle.
En nuestra documentación se tratan más escenarios de migración, como cuando se manejan
procesadores de anotaciones o se usa la API variante
para acceder a los resultados de la compilación. Así que eche un vistazo
al enlace en la descripción. Y gracias por mirar. [REPRODUCCIÓN DE MÚSICA].

As found on YouTube