Plug-in Android Gradle 8.6.0 (août 2024)

Le plug-in Android Gradle 8.6.0 est une version majeure qui comprend de nombreuses nouvelles fonctionnalités et améliorations.

Compatibilité

Le niveau d'API maximal compatible avec le plug-in Android Gradle 8.6 est le niveau d'API 35. Voici d'autres informations sur la compatibilité :

Version minimale Version par défaut Notes
Gradle 8.7 8.7 Pour en savoir plus, consultez Mettre à jour Gradle.
Build Tools SDK 34.0.0 34.0.0 Installez ou configurez SDK Build Tools.
NDK N/A 26.1.10909125 Installez ou configurez une autre version du NDK.
JDK 17 17 Pour en savoir plus, consultez Définir la version du JDK.

Problèmes résolus

Plug-in Android Gradle 8.6.1

Problèmes résolus
Compilateur DEX (D8)
La tâche/transformation de dexing génère un contenu classes.dex non déterministe
Réducteur de code (R8)
R8 8.5.x StackOverflowError dans SimpleInliningConstraintAnalysis
Task :xxxx:minifyXXXReleaseWithR8 ERROR: R8: java.util.ConcurrentModificationException
java.lang.NullPointerException: Cannot invoke "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"

Plug-in Android Gradle 8.6.0

Problèmes résolus
Plug-in Android Gradle
Régression avec AGP 7.0.0-alpha10 : l'application du plug-in "com.android.internal.library" échoue lorsque DataBinding est activé
Erreurs lors de l'exécution de lint avec et sans K2 UAST
Fichier manifeste non généré pour la configuration androidTest de la variante
AGP 8.4 tente de configurer des profils de démarrage sur les versions de débogage
[Koala 2024.1.2 Canary 2] Erreur lors de l'exécution d'un module de profil de référence sur un APK divisé
Nettoyage et suppression de ProjectInfo
Mise à jour de la documentation KDoc obsolète pour "isIncludeAndroidResources" dans le DSL AGP
Lint utilise le répertoire res sans ajouter de dépendance de tâche
AGP 8.5 : de nombreuses autres tâches "mergeDebugResources" sont exécutées, ce qui ralentit les builds
L'ajout du répertoire srcs via l'API Variant ne fonctionne pas comme prévu
Compilateur DEX (D8)
Mettre à jour la base de données d'API vers Android 15 (niveau d'API 35)
java.lang.VerifyError: Verifier rejected class com.pax.log.LogUtils: java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int) failed to verify
Lint
Lint n'appelle pas visitAnnotationUsage pour les utilisations d'annotations annotées
Erreur lint UnknownNullness lors de l'utilisation d'annotations d'utilisation de type
[library desugar] lint affiche des avertissements NewApi faux positifs lorsque la désucration est activée
Avertissement lint incorrect du Gestionnaire d'identifiants sur Wear
Lint : SetTextI18n signale un problème d'attribution d'une chaîne vide.
Intégration de Lint
Échec des tâches lint avec la compilation incluse
Réducteur de code (R8)
[r8 8.5]La fusion de classes horizontales r8 entraîne une erreur de validation sur Android 5 lorsque la modélisation d'API est désactivée
Une version Wear OS créée avec le plug-in Gradle 8.4.0/8.5.0 peut provoquer une erreur java.lang.IllegalAccessError
R8 remplace implicitement une clause de membre vide par une correspondance de ().
[r8 8.5] La fusion de classes verticales entraîne une exception de pointeur nul (NPE) au moment de l'exécution
Erreur de traitement R8 possiblement due à l'opérateur de décalage vers la droite
R8 (AGP 8.5.0 ou version ultérieure) échoue avec l'erreur "Unexpected rewriting of item: ... to two distinct items:..." (Réécriture inattendue de l'élément : ... en deux éléments distincts :...)
Le fichier dex généré par R8 affiche "Impossible de trouver la méthode main(String[]) statique dans 'Test'" lors de l'exécution
Différence de comportement entre les programmes empaquetés par R8 et D8
NullPointer R8 après la mise à jour vers Kotlin 2.0