WOJTEK KALICINSKI: Android
Studio 3.0 es un lanzamiento 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 en gran medida
las compilaciones de varios módulos. Desafortunadamente, es posible
que deba realizar algunas actualizaciones en su
configuración de Gradle cuando cambie a la nueva versión del complemento. Son solo 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 AGP a 3.0.
A continuación, abra el
archivo de propiedades 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 , simplemente puede referirse a
ella con una palabra clave de Google.
Si intenta compilar su
aplicación ahora con el nuevo complemento y está usando
sabores en sus módulos, lo más probable es que
obtenga este error. Anteriormente, las
dimensiones con sabor 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 un tipo coincidente
de las bibliotecas consumidas si puede encontrar uno. Si la biblioteca define
dimensiones de sabor que no están presentes en su
archivo de compilación principal, debe hacer 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 sabores 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 , deberá
especificar un respaldo. Use la
palabra clave de respaldo 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
para los tipos de compilación siempre que la aplicación incluya
un tipo de compilación que no incluya una dependencia de biblioteca. Un buen efecto secundario
de estos cambios es que ya no
tiene que especificar qué variante
desea consumir cuando depende de un módulo de biblioteca. Debe eliminar
estas líneas adicionales de la sección de dependencia y
solo incluir la biblioteca una vez.
También puede eliminar la
publicación no predeterminada verdadera de los módulos de la biblioteca. Para
dependencias externas, aún está bien usar un
especificador de variante si solo desea que se agregue 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
siempre 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
cambie la dependencia , limita la cantidad de
módulos que, de lo contrario, tendrían que volver a compilarse. 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 cubren 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 por favor, eche un vistazo
al enlace en la descripción. Y gracias por mirar. [REPRODUCIENDO MÚSICA].