Complemento de Android para Gradle 8.8.0 (enero de 2025)

El complemento de Android para Gradle 8.8.0 es una versió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. 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 SDK Build Tools.
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.2

Errores corregidos
Complemento de Android para Gradle
Línea 162 de la secuencia de comandos de inicialización "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle"
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 minimiza con R8 incluido en AGP 8.10.0-alpha04

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 receptora [...]$$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 en el tiempo de ejecución cuando se llama a job?.cancel
java.lang.NoClassDefFoundError: No se pudo resolver: Lkotlin/LazyThreadSafetyMode
Al parecer, Monzo usa una cantidad excesiva de tiempo en la eliminación de código no utilizado
AGP 8.8 falla en la compilación de lanzamiento : R8: java.lang.NullPointerException: No se puede leer el campo "b" porque el valor que muestra "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" es nulo.

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
Implementa una 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
AGP debe exponer un BuiltArtifactLoader para el APK del proyecto de destino en 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: Agrega la nueva opción "Configuración de ejecución de compilación" y conviértela en la predeterminada
No se puede resolver BuildConfig en pruebas unitarias cuando se usa android.enableBuildConfigAsBytecode=true
Los APKs generados a partir de paquetes no tienen en cuenta la compatibilidad con Privacy Sandbox
El complemento com.android.settings no reconoce targetSdk
Dexer (D8)
La biblioteca Desugar 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 de filtro de intents http o https
Controla las anotaciones de uso de tipo en más casos para UnknownNullness lint
AGP 8.6.1: Regresión: Falla de WrongConstant lint cuando se usa [Int].toLong() dentro de un @LongDef en Kotlin
AGP 8.7.0: Falso positivo de lint RestrictedApi en NavOptionsBuilder.popUpTo
WrongConstant lint aparece dos veces
Android Studio no detecta la advertencia "MonochromeLauncherIcon: No se define el ícono monocromático"
AbstractAnnotationDetector verifica funciones o constructores sobrecargados incorrectos
Lint ImportAliasTestMode no crea alias de importación para funciones de nivel superior
WrongConstant lint aparece dos veces
Nuevas advertencias de lint ObsoleteSdkInt con AGP 8.8
Falso positivo de lint: La verificación android.permission.SCHEDULE_EXACT_ALARM solo se otorga a las apps del sistema
El modo K2 arroja la advertencia RestrictedApi cuando se usa .hasRoute(Route::class) en Android Studio
Integración de lint
No se encuentra la tarea de la variante de lint después de la evaluación
Falla la lint cuando se importa el archivo AAR con archivos de implementación