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 Gradle 8.8 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.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 debería exponer minSdk
El complemento com.android.settings no reconoce targetSdk
SourceDirectories.addGeneratedSourceDirectory no es compatible con múltiples variantes
Implementa una marca para inhabilitar la verificación de la versión mínima del AGP
AGP tiene interacciones confusas con la configuración de las opciones del compilador de Kotlin.
El AGP debería exponer un BuiltArtifactLoader para el APK del proyecto de destino en los proyectos com.android.test.
[AGP] El proveedor Lazy SdkComponents.ndkDirectory no puede producir un valor, pero la API eager android.ndkDirectory funciona
Opciones de compilación: Se agregó la nueva opción "Compilar configuración de ejecución" y se estableció como predeterminada
No se puede resolver BuildConfig en las pruebas de unidades cuando se usa android.enableBuildConfigAsBytecode=true
Los APKs generados a partir de los bundles no tienen en cuenta la compatibilidad con Privacy Sandbox
El complemento com.android.settings no reconoce targetSdk
Dexer (D8)
La biblioteca de desazucarado 2.1.0 no funciona con AGP 8.5.2
Lint
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
Error de lint "Se debe especificar al menos un host" cuando se configura el esquema http o https del intent-filter
Se controlan las anotaciones de uso de tipos en más casos para el análisis de 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 Lint RestrictedApi en NavOptionsBuilder.popUpTo
El lint WrongConstant aparece dos veces
Android Studio no detecta la advertencia "MonochromeLauncherIcon: No se definió el ícono monocromático"
AbstractAnnotationDetector verifica funciones o constructores sobrecargados incorrectos
Lint ImportAliasTestMode no crea alias de importación para las funciones de nivel superior
El lint WrongConstant aparece dos veces
Nuevas advertencias de lint de ObsoleteSdkInt con AGP 8.8
Falso positivo en la comprobación de lint: 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 variantes de lint después de la evaluación
La verificación con 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 de receptor […]$$Lambda$[…] no define ni hereda una implementación del método resuelto […] de la interfaz […]
NPE en Enqueuer relacionada con el registro de DexCallSite
R8 8.7.18 causa una excepción de puntero nulo en el tiempo de ejecución cuando se llama a job?.cancel
java.lang.NoClassDefFoundError: No se pudo resolver: Lkotlin/LazyThreadSafetyMode
Monzo parece usar una cantidad excesiva de tiempo en la eliminación de código no utilizado
La compilación de lanzamiento de AGP 8.8 falla : R8: java.lang.NullPointerException: No se puede leer el campo "b" porque el valor de retorno de "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" es nulo.

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)
Gson proguard 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