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

Le plug-in Android Gradle 8.6.0 est une version majeure qui comprend plusieurs 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'a pas été 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
Mise à jour de la 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 tâches "mergeDebugResources" 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 d'API pour Android 15 (niveau d'API 35)
java.lang.VerifyError: le vérificateur a rejeté la classe com.pax.log.LogUtils: échec de la validation de 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 d'utilisation du type
[library desugar] lint shows false positive warning NewApi warnings with desugaring enabled
Avertissement d'analyse lint du Gestionnaire d'identifiants incorrect sur Wear
Lint: SetTextI18n se plaint de l'attribution d'une chaîne vide.
Intégration de Lint
Les tâches de 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 de 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 classe verticale provoque une erreur NPE au moment de l'exécution
Erreur de traitement R8, peut-être due au changement de l'opérateur à droite
R8 (AGP 8.5.0 et versions ultérieures) é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 "Impossible de trouver main(String[]) statique dans "Test"" lors de son exécution
Différence de comportement entre les programmes empaqueté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 conversion d'une tâche/transformation au format .dex génère du contenu class.dex non déterministe.
Réducteur de code (R8)
StackOverflowError R8 8.5.x 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()"