Complemento de Android para Gradle 8.8.0 (enero de 2025)

El complemento de Android para Gradle 8.8.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.8 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.10.2 8.10.2 Para obtener más información, consulta cómo actualizar Gradle.
Herramientas de desarrollo del SDK 35.0.0 35.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.

Errores corregidos

Complemento de Android para Gradle 8.8.0

Errores corregidos
Complemento de Android para Gradle
Considera anotar el tipo de entrada para JacocoTransform como @Classpath
com.android.build.api.variant.GeneratesApk debe exponer minSdk
El complemento com.android.settings no reconoce targetSdk.
SourceDirectories.addGeneratedSourceDirectory no es compatible con varias variantes.
Se implementó la marca para inhabilitar la verificación de la versión mínima de AGP.
AGP tiene interacciones confusas con la configuración de las opciones del compilador de Kotlin.
El AGP debe exponer un BuiltArtifactLoader para el APK del proyecto de destino en los proyectos com.android.test.
[AGP] El proveedor de SdkComponents.ndkDirectory diferido no produce un valor, pero la API de android.ndkDirectory ansiosa funciona.
Opciones de compilación: Se agregó la nueva opción "Build Run configuration" y se estableció como la predeterminada.
No se puede resolver BuildConfig en pruebas de unidades cuando se usa android.enableBuildConfigAsBytecode=true.
Los APKs generados a partir de paquetes no consideran la compatibilidad con Privacy Sandbox.
El complemento com.android.settings no reconoce targetSdk.
Dexer (D8)
La biblioteca de expansión de sintaxis 2.1.0 no funciona con AGP 8.5.2.
Lint
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.
Se produce un error de lint "Se debe especificar al menos un host" cuando se configura el esquema de filtro de intents de http o https.
Controla las anotaciones de uso de tipo en más casos para lint de UnknownNullness
AGP 8.6.1: Regresión: Falla de lint de WrongConstant cuando se usa [Int].toLong() dentro de un @LongDef en Kotlin
AGP 8.7.0: Falso positivo de RestrictedApi en lint en NavOptionsBuilder.popUpTo
El lint de WrongConstant aparece dos veces.
Android Studio no detecta la advertencia "MonochromeLauncherIcon: Monochrome icon is not defined".
AbstractAnnotationDetector verifica funciones o constructores sobrecargados incorrectos.
Lint ImportAliasTestMode no crea alias de importación para funciones de nivel superior.
El lint de WrongConstant aparece dos veces.
Nuevas advertencias de lint de ObsoleteSdkInt con AGP 8.8
La comprobación de lint de falso positivo android.permission.SCHEDULE_EXACT_ALARM solo se otorga a las apps del sistema.
El modo K2 arroja una advertencia de RestrictedApi cuando se usa .hasRoute(Route::class) en Android Studio.
Integración de lint
No se encuentra la tarea de variante de lint después de la evaluación
La lint falla cuando se importa un archivo AAR con archivos de implementación.

Complemento de Android para Gradle 8.8.1

Errores corregidos
Dexer (D8)
Agrega OpenJDK 23 para realizar pruebas
Reductor (R8)
java.lang.AbstractMethodError: La clase del receptor [...]$$Lambda$[...] no define ni hereda una implementación del método resuelto [...] de la interfaz [...]
NPE en Enqueuer relacionado con el registro de DexCallSite
R8 8.7.18 causa una excepción de puntero nulo de tiempo de ejecución cuando se llama a job?.cancel.
java.lang.NoClassDefFoundError: No se pudo resolver Lkotlin/LazyThreadSafetyMode.
Parece que Monzo está usando una cantidad excesiva de tiempo en el movimiento de árboles.
La compilación de lanzamiento de AGP 8.8 falla : R8: java.lang.NullPointerException: Cannot read field "b" because the return value of "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" is null`

Complemento de Android para Gradle 8.8.2

Errores corregidos
Complemento de Android para Gradle
Secuencia de comandos de inicialización "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle", línea 162
Reductor (R8)
Proguard de Gson no funciona correctamente después de actualizar a AGP 8.8.
java.lang.VerifyError: El verificador rechaza la clase.
Leanback falla cuando se reduce con R8 incluido en AGP 8.10.0-alpha04.