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 des Build Tools SDK.
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.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
Le fichier manifeste n'est pas généré pour la configuration androidTest de la variante
AGP 8.4 tente de configurer des profils de démarrage sur les builds 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
Mettre à jour le kdoc obsolète pour `isIncludeAndroidResources` dans AGP DSL
Lint utilise le répertoire "res" sans ajouter de dépendance de tâche
AGP 8.5 : de nombreuses tâches "mergeDebugResources" supplémentaires sont exécutées, ce qui ralentit les compilations
L'ajout du répertoire srcs via l'API Variant ne fonctionne pas comme prévu
Compilateur DEX (D8)
Mise à jour de la base de données des API vers Android 15 (niveau d'API 35)
java.lang.VerifyError : échec de la vérification de la classe com.pax.log.LogUtils : java.lang.StackTraceElement com.pax.log.LogUtils.getCaller(com.pax.log.b, java.lang.StackTraceElement[], int)
Lint
Lint n'appelle pas visitAnnotationUsage pour les utilisations d'annotations annotées
Erreur lint UnknownNullness lors de l'utilisation d'annotations de type
[library desugar] lint affiche des avertissements NewApi de faux positifs lorsque la désucrification est activée
Avertissement Lint incorrect du Gestionnaire d'identifiants sur Wear
Lint : SetTextI18n se plaint de l'attribution d'une chaîne vide.
Intégration de Lint
Les tâches Lint échouent avec le build inclus
Réducteur de code (R8)
[r8 8.5]La fusion horizontale des classes r8 entraîne une erreur de validation sur Android 5 lorsque la modélisation de l'API est désactivée
Une version Wear OS créée avec le plug-in Gradle 8.4.0/8.5.0 peut entraîner 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 provoque une NPE d'exécution
Erreur de traitement R8 probablement due à l'opérateur de décalage à droite
R8 (AGP 8.5.0+) échoue avec l'erreur "Réécriture inattendue de l'élément : ... en deux éléments distincts :..."
Le fichier dex généré par R8 affiche "Unable to find static main(String[]) in 'Test'" (Impossible de trouver le fichier main(String[]) statique dans 'Test') lors de l'exécution
Comportement différent entre les programmes compressés par R8 et D8
R8 NullPointer après la mise à jour vers Kotlin 2.0

Plug-in Android Gradle 8.6.1

Problèmes résolus
Compilateur DEX (D8)
La tâche/transformation Dexing génère des contenus classes.dex non déterministes
Réducteur de code (R8)
R8 8.5.x StackOverflowError dans SimpleInliningConstraintAnalysis
Tâche :xxxx:minifyXXXReleaseWithR8 ERREUR : R8 : java.util.ConcurrentModificationException
java.lang.NullPointerException : Impossible d'appeler "com.android.tools.r8.ir.analysis.type.TypeElement.asClassType()"