Complemento de Android para Gradle 8.7.0 (octubre de 2024)

El complemento de Android para Gradle 8.7.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.7 es el nivel de API 35. Aquí tienes más información sobre la compatibilidad:

Versión mínima Versión predeterminada Notas
"Gradle" 8.9 8.9 "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 27.0.12077973 "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".

Cambio de comportamiento de lint

A partir del complemento de Android para Gradle 8.7.0-alpha08, si hay un LintError cuando se ejecuta lint con Gradle, la tarea de análisis de lint arroja una excepción. Este cambio evita que los errores poco frecuentes se almacenen en caché en la caché de compilación.

Lamentablemente, este cambio interrumpe las compilaciones de proyectos con instancias LintError genuinas en sus archivos de modelo de referencia de lint. El mensaje de error contiene información sobre qué verificaciones de lint están causando el problema. En algunos casos, actualizar la dependencia de la biblioteca correspondiente podría resolver el problema. De lo contrario, puedes inhabilitar la verificación de lint problemática hasta que el autor de la biblioteca la corrija.

Errores corregidos

Complemento de Android para Gradle 8.7.0

Errores corregidos
Complemento de Android para Gradle
AGP debe indicar que admite el nivel de API 35 que está a punto de lanzarse.
AGP 8.5: Se ejecutan muchas más tareas "mergeDebugResources", lo que ralentiza las compilaciones.
Se estableció ndk 27 como el NDK predeterminado en AGP.
AGP debe indicar que admite el nivel de API 35 que está a punto de lanzarse.
AGP debe indicar que admite el nivel de API 35 que está a punto de lanzarse.
Se produjo un error al ejecutar lint de Android con NoSuchFileException.
BuildType#initWith copia el bloque de procesamiento posterior, pero no se aplica la configuración de Proguard.
No se puede combinar para las etiquetas foregroundServiceType
Se produjo un error al ejecutar lint de Android con NoSuchFileException.
Lint
Lint debe verificar si hay objetos no válidos que se usan como ViewGroups.
Falta el atributo "android:host" para los URIs con un host nulo.
Incompatibilidad de KtAnalysisSessionProvider con las verificaciones de lint que se introdujo en 8.7.0-alpha04
Se generaba un "falso positivo" de WrongConstant cuando se usaba PackageManager.ResolveInfoFlags.of con Kotlin.

Complemento de Android para Gradle 8.7.1

Errores corregidos
Complemento de Android para Gradle
Los documentos de agp tienen muchos elementos por definir.
Lint
AGP 8.6.1: Regresión: Falla de lint de WrongConstant cuando se usa [Int].toLong() dentro de un @LongDef en Kotlin
Se produce un error de lint "Se debe especificar al menos un host" cuando se configura el esquema de filtro de intents http o https.

Complemento de Android para Gradle 8.7.2

Errores corregidos
Lint
AGP 8.7.0: Falso positivo de RestrictedApi en lint en NavOptionsBuilder.popUpTo
Reductor (R8)
[R8 8.6.27] La implementación del método se reemplazó por "throw null".
Los archivos de Proguard predeterminados de Android muestran una advertencia cuando se usan con la versión actual de R8.
MissingStartupProfileItemsDiagnostic hace que el cliente de Gradle falle con un error de falta de memoria si el mensaje es demasiado grande.

Complemento de Android para Gradle 8.7.3

Errores corregidos
Lint
Faltaban muchas advertencias de métodos de API de análisis cuando se ejecutaba lint.
La comprobación de lint de falso positivo android.permission.SCHEDULE_EXACT_ALARM solo se otorga a las apps del sistema.