Plug-in Android Gradle 8.8.0 (janvier 2025)

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

Compatibilité

Le niveau d'API maximal pris en charge par le plug-in Android Gradle 8.8 est le niveau d'API 35. Voici d'autres informations sur la compatibilité :

Version minimale Version par défaut Notes
Gradle 8.10.2 8.10.2 Pour en savoir plus, consultez Mettre à jour Gradle.
SDK Build Tools 35.0.0 35.0.0 Installez ou configurez SDK Build Tools.
NDK N/A 27.0.12077973 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.8.2

Problèmes résolus
Plug-in Android Gradle
Script d'initialisation "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle", ligne 162
Réducteur de code (R8)
ProGuard avec Gson ne fonctionne pas correctement après la mise à niveau vers AGP 8.8
java.lang.VerifyError : le vérificateur a rejeté la classe
Leanback plante lorsqu'il est minimisé avec R8 inclus dans AGP 8.10.0-alpha04

Plug-in Android Gradle 8.8.1

Problèmes résolus
Compilateur DEX (D8)
Ajouter OpenJDK 23 pour les tests
Réducteur de code (R8)
java.lang.AbstractMethodError: la classe de récepteur [...]$$Lambda$[...] ne définit pas d'implémentation de la méthode résolue [...] de l'interface [...] ni n'hérite d'une implémentation
NPE dans Enqueuer lié à l'enregistrement DexCallSite
R8 8.7.18 provoque une exception de pointeur nul au moment de l'exécution lors de l'appel de job?.cancel
java.lang.NoClassDefFoundError : échec de la résolution de : Lkotlin/LazyThreadSafetyMode
Monzo semble consacrer trop de temps au tree shaking
Échec du build AGP 8.8 : R8 : java.lang.NullPointerException : impossible de lire le champ "b", car la valeur renvoyée de "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" est nulle

Plug-in Android Gradle 8.8.0

Problèmes résolus
Plug-in Android Gradle
Envisagez d'annoter le type d'entrée pour JacocoTransform en tant que @Classpath
com.android.build.api.variant.GeneratesApk doit exposer minSdk
Le plug-in com.android.settings ne reconnaît pas targetSdk
SourceDirectories.addGeneratedSourceDirectory n'est pas adapté aux variantes multiples
Implémenter un indicateur pour désactiver la vérification de la version minimale d'AGP
AGP a des interactions déroutantes avec la configuration des options du compilateur Kotlin
AGP doit exposer un BuiltArtifactLoader pour l'APK du projet cible dans les projets com.android.test
[AGP] Le fournisseur "lazy" de SdkComponents.ndkDirectory ne parvient pas à produire de valeur, mais l'API android.ndkDirectory "eager" fonctionne
Options de compilation : ajout d'une option "Build Run configuration" (Configuration de l'exécution de la compilation) et définition de cette option comme option par défaut
BuildConfig ne peut pas être résolu dans les tests unitaires lorsque android.enableBuildConfigAsBytecode=true est utilisé
Les APK générés à partir de bundles ne prennent pas en compte la compatibilité avec Privacy Sandbox
Le plug-in com.android.settings ne reconnaît pas targetSdk
Compilateur DEX (D8)
La bibliothèque Desugar 2.1.0 ne fonctionne pas avec AGP 8.5.2
Lint
Incompatibilité de KtAnalysisSessionProvider avec les vérifications du lint introduites dans la version 8.7.0-alpha04
WrongConstant "faux positif" lors de l'utilisation de PackageManager.ResolveInfoFlags.of avec Kotlin
Erreur du lint "At least one host must be specified" (Au moins un hôte doit être spécifié) lors de la définition du schéma de filtre d'intent http ou https
Gérer les annotations d'utilisation de type dans davantage de cas pour le lint UnknownNullness
AGP 8.6.1 : régression – échec du lint WrongConstant lors de l'utilisation de [Int].toLong() dans un @LongDef en Kotlin
AGP 8.7.0 : faux positif du lint RestrictedApi sur NavOptionsBuilder.popUpTo
WrongConstant du lint apparaissant deux fois
L'avertissement "MonochromeLauncherIcon: Monochrome icon is not defined" (MonochromeLauncherIcon : l'icône de Monochrome n'est pas définie) n'est pas détecté par Android Studio
AbstractAnnotationDetector vérifie les fonctions/constructeurs surchargés incorrects
ImportAliasTestMode du lint ne crée pas d'alias d'importation pour les fonctions de premier niveau
WrongConstant du lint apparaissant deux fois
Nouveaux avertissements du lint ObsoleteSdkInt avec AGP 8.8
Faux positif de la vérification du lint, android.permission.SCHEDULE_EXACT_ALARM n'est accordée qu'aux applications système
Le mode K2 génère un avertissement RestrictedApi lors de l'utilisation de .hasRoute(Route::class) dans Android Studio
Intégration du lint
La tâche de variante du lint est introuvable après l'évaluation
Le linting échoue lors de l'importation du fichier AAR avec des fichiers d'implémentation