El complemento de Android para Gradle 8.3.0 es una actualización importante que incluye una variedad de nuevas funciones y mejoras.
Compatibilidad
El nivel de API máximo que admite el complemento de Android para Gradle 8.3 es el nivel de API 34. Aquí tienes más información sobre la compatibilidad:
Versión mínima | Versión predeterminada | Notas | |
---|---|---|---|
Gradle | 8.4 | 8.4 | Para obtener más información, consulta cómo actualizar Gradle. |
Herramientas de desarrollo del SDK | 34.0.0 | 34.0.0 | Instala o configura las herramientas de compilación del SDK. |
NDK | N/A | 25.1.8937393 | Instala o configura una versión diferente del NDK. |
JDK | 17 | 17 | Para obtener más información, consulta cómo configurar la versión de JDK. |
Las siguientes son funciones nuevas del complemento de Android para Gradle 8.3.
Versiones de parches
La siguiente es una lista de las versiones de parche de Android Studio Iguana y el complemento de Android para Gradle 8.3.
Android Studio Iguana | 2023.2.1 Parche 2 y AGP 8.3.2 (abril de 2024)
Esta actualización menor incluye estas correcciones de errores.
Android Studio Iguana | 2023.2.1 Parche 1 y AGP 8.3.1 (marzo de 2024)
Esta actualización menor incluye estas correcciones de errores.
Compatibilidad con catálogos de versiones de Gradle
Android Studio admite catálogos de versiones de Gradle basados en TOML, una función que te permite administrar dependencias en una ubicación central y compartirlas entre módulos o proyectos. Ahora, Android Studio facilita la configuración de catálogos de versiones a través de sugerencias del editor y la integración con el diálogo Project Structure. Obtén información para configurar catálogos de versiones de Gradle o para migrar tu compilación a catálogos de versiones.
Finalización de código y navegación
Android Studio ofrece la finalización de código cuando editas un catálogo de versiones en el formato de archivo TOML o agregas una dependencia de un catálogo de versiones a un archivo de compilación. Para usar la finalización de código, presiona Ctrl+Espacio (Comando+Espacio en macOS). Además, puedes navegar rápidamente desde una referencia de dependencia en el archivo build.gradle
de tu app hasta donde se declara en el catálogo de versiones presionando Ctrl + b (Comando + b en macOS).
Integración con el diálogo Project Structure
Si tu proyecto usa un catálogo de versiones definido en el formato de archivo TOML, puedes editar las variables que definiste allí a través de la vista Variables del diálogo Project Structure (File > Project Structure > Variables) en Android Studio. Para cada catálogo de versiones, hay un menú desplegable que muestra las variables de ese catálogo. Para editar una variable, haz clic en su valor y reemplázalo. Cuando grabes estos cambios, el archivo TOML se actualizará según corresponda.
También puedes actualizar las dependencias en la vista Dependencies del diálogo Project Structure (File > Project Structure > Dependencies). Para actualizar las versiones con el diálogo Project Structure, navega al módulo y la dependencia que deseas editar y, luego, actualiza el campo Requested Version. Cuando guardas estos cambios, el archivo TOML se actualiza según corresponda. Ten en cuenta que, si la versión de la dependencia se definió con una variable, actualizar la versión directamente de esta manera reemplaza la variable por un valor codificado. Además, ten en cuenta que quitar una dependencia de un archivo de compilación, ya sea que uses el diálogo Project Structure o no, no quita la dependencia del catálogo de versiones.
Problemas conocidos y limitaciones
Los siguientes son problemas o limitaciones conocidos con la compatibilidad de los catálogos de versiones de Gradle en Android Studio.
Error de resaltado de declaraciones de alias de complementos en archivos de secuencia de comandos de Kotlin: Cuando agregas una declaración de complemento del formulario
alias(libs.plugins.example)
, el editor agrega un subrayado rojo debajo de la partelibs
. Este es un problema conocido en las versiones 8.0 y anteriores de Gradle, y se resolverá en una versión futura de Gradle.Android Studio solo admite catálogos de versiones en formato TOML: actualmente, la compatibilidad con la finalización de código, la navegación y el diálogo de Project Structure de Android Studio solo está disponible para los catálogos de versiones definidos en el formato de archivo TOML. Sin embargo, puedes agregar un catálogo de versiones directamente en el archivo
settings.gradle
y usar sus dependencias en tu proyecto.No se admite la navegación para archivos de compilación de KTS: aún no se admite la navegación a una definición de dependencia en un catálogo de versiones con Control + clic (Comando + clic en macOS) para archivos de compilación escritos con la secuencia de comandos de Kotlin.
Firebase Assistant agrega dependencias directamente en las secuencias de comandos de compilación: Firebase Assistant agrega dependencias directamente a tus secuencias de comandos de compilación en lugar de hacerlo a través de catálogos de versiones.
La función "Find usages" no es compatible: aún no se admite encontrar usos de una variable de catálogo de versiones en otros archivos de compilación, ya sea que el archivo de compilación esté en KTS o Groovy. Es decir, usar Control + clic (Comando + clic en macOS) en una definición de variable en un catálogo de versiones no dirige a los archivos de compilación en los que se usa la variable.
El diálogo Project Structure de Android Studio muestra varios archivos de catálogo si están en la carpeta raíz
gradle
, pero no muestra catálogos para una compilación compuesta. Por ejemplo, si tienes dos archivos de catálogo, uno para tu app y uno para una compilación compuesta, el diálogo de estructura del proyecto solo muestra el archivo de catálogo de la app. Puedes usar una compilación compuesta, pero debes editar su archivo TOML directamente.
Estadísticas adicionales del SDK: problemas con las políticas
Android Studio muestra advertencias de lint en los archivos build.gradle.kts
y build.gradle
, y en el diálogo Project Structure para los SDKs públicos que tienen incumplimientos de las políticas de Play en el Índice SDK de Google Play. Debes actualizar las dependencias que infrinjan las políticas de Play, ya que estos incumplimientos podrían impedir que publiques contenido en Google Play Console en el futuro. Las advertencias de incumplimiento de política complementan las advertencias de versión desactualizada que muestra Android Studio.
Compatibilidad con la versión de compileSdk de Android Studio
Android Studio muestra una advertencia si tu proyecto usa un compileSdk
que no es compatible con la versión actual de Android Studio. Si está disponible, también te sugiere cambiar a una versión de Android Studio que admita el compileSdk
que usa tu proyecto. Ten en cuenta que actualizar Android Studio también puede requerir que actualices AGP.
AGP también muestra una advertencia en la ventana de herramientas Build si la compileSdk
que usa tu proyecto no es compatible con la versión actual de AGP.
Cambios en el comportamiento de lint
A partir del complemento de Android para Gradle 8.3.0-alpha02, cuando se ejecuta lint en un módulo, se ejecutan tareas de análisis de lint separadas para los componentes principales y de prueba del módulo. El motivo de este cambio es mejorar el rendimiento.
Para volver al comportamiento anterior, configura android.experimental.lint.analysisPerComponent=false
en el archivo gradle.properties
.
La reducción de recursos precisa está activada de forma predeterminada
La reducción de recursos precisa, que quita las entradas que no se usan del archivo resources.arsc
y elimina los archivos de recursos que no se usan, está activada de forma predeterminada.
Cuando se habilita esta reducción, se reduce tu tabla de recursos y solo se incluyen en el APK las entradas de carpeta res
a las que se hace referencia.
Para desactivar la reducción precisa de recursos, establece android.enableNewResourceShrinker.preciseShrinking
como false
en el archivo gradle.properties
de tu proyecto.
Errores corregidos
Complemento de Android para Gradle 8.3.0
Errores corregidos | ||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Complemento de Android para Gradle |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Dexer (D8) |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Integración de lint |
|
|||||||||||||||||||||||||||||||||||||||||||||||||
Reductor (R8) |
|
Complemento de Android para Gradle 8.3.1
Errores corregidos | ||
---|---|---|
Complemento de Android para Gradle |
|
|
Integración de lint |
|
Complemento de Android para Gradle 8.3.2
Errores corregidos | |||
---|---|---|---|
Complemento de Android para Gradle |
|
||
Integración de lint |
|