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
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

Complemento de Android para Gradle 8.8.1

Errores corregidos
Dexer (D8)
Se agregó 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 DexCallSite
R8 8.7.18 provoca 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
Parece que Monzo está usando una cantidad excesiva de tiempo en la eliminación de código muerto
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 se muestra de "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 debería exponer minSdk
El complemento com.android.settings no reconoce targetSdk
SourceDirectories.addGeneratedSourceDirectory no es compatible con múltiples variantes.
Se implementó un parámetro para inhabilitar la verificación de la versión mínima del AGP.
El 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 proyectos com.android.test
[AGP] El proveedor diferido SdkComponents.ndkDirectory no produce un valor, pero la API eager android.ndkDirectory funciona
Opciones de compilación: Se agregó la nueva opción "Build Run configuration" y se estableció como predeterminada.
No se puede resolver BuildConfig en las pruebas de unidades cuando se usa android.enableBuildConfigAsBytecode=true
Los APK 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 introducidas en 8.7.0-alpha04
Se mostraba un falso positivo de WrongConstant cuando se usaba PackageManager.ResolveInfoFlags.of con Kotlin.
Error de lint "At least one host must be specified" cuando se configura el esquema de intent-filter http o https
Se controlan las anotaciones de uso de tipos en más casos para el lint UnknownNullness.
AGP 8.6.1: Regresión: Error de lint de WrongConstant cuando se usa [Int].toLong() dentro de un @LongDef en Kotlin
AGP 8.7.0: Falso positivo de lint de RestrictedApi en NavOptionsBuilder.popUpTo
El lint WrongConstant aparece dos veces
Android Studio no detecta la advertencia "MonochromeLauncherIcon: Monochrome icon is not defined"
AbstractAnnotationDetector verifica funciones o constructores sobrecargados incorrectos
ImportAliasTestMode de Lint 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 de android.permission.SCHEDULE_EXACT_ALARM, que 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 detección de errores de lint falla cuando se importa un archivo AAR con archivos de implementación