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 Gradle 8.7 es el nivel de API 35. A continuación, se incluye otra 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 se almacenen en caché errores poco frecuentes 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. Si no es así, 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 debería indicar que admite la API 35 que está a punto de lanzarse
AGP 8.5: Se ejecutan muchas más tareas "mergeDebugResources", lo que ralentiza las compilaciones
Establece el NDK 27 como el NDK predeterminado en AGP.
AGP debería indicar que admite la API 35 que está a punto de lanzarse
AGP debería indicar que admite la API 35 que está a punto de lanzarse
Se produjo un error al ejecutar Android Lint con NoSuchFileException
BuildType#initWith copia el bloque de posprocesamiento, pero no se aplica la configuración de ProGuard
No se pueden combinar las etiquetas foregroundServiceType
Se produjo un error al ejecutar Android Lint con NoSuchFileException
Lint
Lint debería verificar si hay objetos no válidos que se usan como ViewGroups
Falta "android:host" para los URIs con host nulo
Incompatibilidad de KtAnalysisSessionProvider con las verificaciones de lint introducidas en 8.7.0-alpha04
"Falso positivo" WrongConstant cuando se usa PackageManager.ResolveInfoFlags.of con Kotlin

Complemento de Android para Gradle 8.7.1

Errores corregidos
Complemento de Android para Gradle
La documentación de AGP tiene muchos TBD
Lint
AGP 8.6.1: Regresión: Falla de lint de WrongConstant cuando se usa [Int].toLong() dentro de un @LongDef en Kotlin
Error de lint "Se debe especificar al menos un host" cuando se configura el esquema http o https del intent-filter

Complemento de Android para Gradle 8.7.2

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

Complemento de Android para Gradle 8.7.3

Errores corregidos
Lint
Faltan muchas advertencias del método de la API de análisis cuando se ejecuta lint
Falso positivo en la comprobación de lint: android.permission.SCHEDULE_EXACT_ALARM solo se otorga a las apps del sistema