Complemento de Android para Gradle 8.6.0 (agosto de 2024)

El complemento de Android para Gradle 8.6.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.6 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.7 8.7 Para obtener más información, consulta cómo actualizar Gradle.
SDK Build Tools 34.0.0 34.0.0 Instala o configura SDK Build Tools.
NDK N/A 26.1.10909125 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.6.1

Errores corregidos
Dexer (D8)
La tarea o transformación de Dexing genera contenido no determinista de classes.dex.
Reductor (R8)
StackOverflowError de R8 8.5.x en SimpleInliningConstraintAnalysis
Tarea :xxxx:minifyXXXReleaseWithR8 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: No se puede invocar "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"

Complemento de Android para Gradle 8.6.0

Errores corregidos
Complemento de Android para Gradle
Regresión de AGP 7.0.0-alpha10: No se pudo aplicar el complemento "com.android.internal.library” cuando la vinculación de datos estaba habilitada.
Errores cuando se ejecuta lint con y sin UAST K2
No se generó el manifiesto para la configuración de androidTest de la variante.
AGP 8.4 intenta configurar perfiles de inicio en compilaciones de depuración.
[Koala 2024.1.2 Canary 2] Error al ejecutar un módulo de perfil de Baseline en un APK dividido
Limpia o quita ProjectInfo
Actualiza el kdoc desactualizado para `isIncludeAndroidResources` en AGP DSL.
Lint usa el directorio res sin agregar la dependencia de la tarea.
AGP 8.5: Se ejecutan muchas más tareas "mergeDebugResources", lo que ralentiza las compilaciones.
Agregar el directorio srcs a través de la API de Variant no funciona como se esperaba.
Dexer (D8)
Actualiza la base de datos de la API a Android 15 (nivel de API 35).
java.lang.VerifyError: El verificador rechazó la clase com.pax.log.LogUtils: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) no se pudo verificar.
Lint
Lint no llama a visitAnnotationUsage para el uso de anotaciones con anotaciones.
Error de lint UnknownNullness cuando se usan anotaciones de uso de tipo
[Desugar de biblioteca] lint muestra advertencias de falso positivo de NewApi con desugar habilitado.
La advertencia de lint de Credential Manager es incorrecta en Wear.
Lint: SetTextI18n se queja de asignar una cadena vacía.
Integración de lint
Las tareas de lint fallan con la compilación incluida.
Reductor (R8)
[r8 8.5]La combinación de clases horizontales r8 causa un error de verificación en Android5 cuando se inhabilita el modelado de la API.
Una versión de Wear OS compilada con el complemento de Gradle 8.4.0/8.5.0 puede causar java.lang.IllegalAccessError.
R8 reemplaza implícitamente una cláusula de miembro vacía por una coincidencia de ()
[r8 8.5] La combinación de clases verticales causa NPE en el tiempo de ejecución.
Error de procesamiento de R8 posiblemente debido al operador de desplazamiento a la derecha
R8 (AGP 8.5.0 y versiones posteriores) falla con el error "Unexpected rewriting of item: ... to two distinct items:..."
El archivo dex generado por R8 muestra "Unable to find static main(String[]) in 'Test'" cuando se ejecuta.
Comportamiento diferente entre los programas empaquetados por R8 y D8
R8 NullPointer después de actualizar a Kotlin 2.0