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 compatible avec 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.
Build Tools SDK 35.0.0 35.0.0 Installez ou configurez des Build Tools SDK.
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.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 compatible avec plusieurs variantes
Implémentation d'un indicateur pour désactiver la vérification de la version minimale d'AGP
Les interactions de l'AGP avec la configuration des options du compilateur Kotlin sont confuses
AGP doit exposer un BuiltArtifactLoader pour l'APK du projet cible dans les projets com.android.test.
[AGP] Le fournisseur Lazy SdkComponents.ndkDirectory ne parvient pas à générer de valeur, mais l'API android.ndkDirectory impatiente fonctionne
Options de compilation: ajout d'une option "Build Run configuration" (Configuration de l'exécution de la compilation) et définition de celle-ci comme valeur par défaut
BuildConfig ne peut pas être résolu dans les tests unitaires lorsque vous utilisez android.enableBuildConfigAsBytecode=true.
Les APK générés à partir de bundles ne prennent pas en compte la compatibilité avec la 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 lint introduite dans 8.7.0-alpha04
"Faux positif" WrongConstant lors de l'utilisation de PackageManager.ResolveInfoFlags.of avec Kotlin
Erreur lint "Au moins un hôte doit être spécifié" lors du paramétrage du schéma de filtre d'intent http ou https
Gérer les annotations d'utilisation de type dans plus de cas pour l'analyse lint UnknownNullness
AGP 8.6.1 : régression : échec de lint WrongConstant lors de l'utilisation de [Int].toLong() dans un @LongDef en Kotlin
AGP 8.7.0 : faux positif de lint RestrictedApi sur NavOptionsBuilder.popUpTo
L'analyse lint WrongConstant apparaît deux fois
L'avertissement "MonochromeLauncherIcon: l'icône monochrome n'est pas définie" n'est pas détecté par Android Studio
AbstractAnnotationDetector vérifie les fonctions/constructeurs surchargés incorrects
Lint ImportAliasTestMode ne crée pas d'alias d'importation pour les fonctions de niveau supérieur
L'analyse lint WrongConstant apparaît deux fois
Nouveaux avertissements lint ObsoleteSdkInt avec AGP 8.8
Vérification lint faussement positive 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 de Lint
La tâche de variante lint n'est pas trouvée après l'évaluation
L'analyse lint échoue lors de l'importation d'un fichier AAR avec des fichiers d'implémentation

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 ni n'hérite d'une implémentation de la méthode résolue [...] de l'interface [...]
Exception NPE dans Enqueuer liée à l'enregistrement de DexCallSite
R8 8.7.18 génère une exception de pointeur nul d'exécution lors de l'appel de job?.cancel.
java.lang.NoClassDefFoundError: échec de la résolution de: Lkotlin/LazyThreadSafetyMode
Monzo semble utiliser une durée excessive pour l'élagage des arbres
Échec de la version de compilation AGP 8.8 : R8: java.lang.NullPointerException: Impossible de lire le champ "b", car la valeur renvoyée par "com.android.tools.r8.internal.BS.a(com.android.tools.r8.internal.cR)" est nulle

Plug-in Android Gradle 8.8.2

Problèmes résolus
Plug-in Android Gradle
Ligne 162 du script d'initialisation "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle"
Réducteur de code (R8)
Gson ProGuard 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 lors de la réduction avec R8 inclus dans AGP 8.10.0-alpha04