Complemento de Android para Gradle 8.6.0 (agosto de 2024)

El complemento de Android para Gradle 8.6.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.6 es el 35. Aquí tienes más 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.
Herramientas de desarrollo del SDK 34.0.0 34.0.0 Instala o configura las herramientas de compilación del SDK.
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.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 al ejecutar lint con y sin K2 UAST
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] Se produjo un error cuando se ejecutaba un módulo de perfil de Baseline en un APK dividido
Limpia o quita ProjectInfo
Se actualizó el kdoc desactualizado de "isIncludeAndroidResources" en la DSL de AGP.
Lint usa el directorio res sin agregar una dependencia de tarea.
AGP 8.5: Se ejecutan muchas más tareas "mergeDebugResources", lo que ralentiza las compilaciones.
La adición de srcs dir a través de la API de Variant no funciona como se esperaba.
Dexer (D8)
Se actualizó 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 tipo de uso
[library desugar] lint muestra advertencias de NewApi con desugaring habilitado
La advertencia de lint del Administrador de credenciales 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 de r8 causa un error de verificación en Android 5 cuando se inhabilita el modelado de API.
Una versión para Wear OS compilada con el complemento de Gradle 8.4.0/8.5.0 puede causar java.lang.IllegalAccessError.
R8 reemplaza de forma implícita una cláusula de miembro vacía por una coincidencia de ().
[r8 8.5] La combinación de clases verticales causa una NPE de tiempo de ejecución.
Error de procesamiento de R8 posiblemente debido al operador Mayús 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 el mensaje "Unable to find default main(String[]) in 'Test'" cuando se ejecuta.
Comportamiento diferente entre los programas empaquetados por R8 y D8
NullPointer de R8 después de actualizar a Kotlin 2.0

Complemento de Android para Gradle 8.6.1

Errores corregidos
Dexer (D8)
La tarea o transformación de conversión a dex genera contenido de classes.dex no determinista.
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()"