Plug-in Android Gradle 8.9.0 (mars 2025)

Le plug-in Android Gradle 8.9.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.9 est le niveau d'API 35. Voici d'autres informations sur la compatibilité:

Version minimale Version par défaut Notes
Gradle 8.11.1 8.11.1 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.9.0

Problèmes résolus
Plug-in Android Gradle
Fournir un message d'erreur exploitable lorsque la tâche de configuration GMD échoue en raison d'un espace disque insuffisant
Le plug-in com.android.settings ne reconnaît pas targetSdk
Erreur inutile "compileSdkVersion n'est pas spécifié. Veuillez l'ajouter à build.gradle"
"Clean build" (Compilation propre) manquant dans le menu "Build" (Créer)
La prise en charge intégrée de Kotlin par AGP permet peut-être d'ajouter automatiquement la dépendance de stdlib Kotlin.
Mise à jour de shouldConfigureKotlinPlatformAttribute pour gérer la prise en charge intégrée de Kotlin
Indiquer la syntaxe Kotlin Gradle dans le message d'erreur pour "checkTestedAppObfuscationRelease"
Amélioration de l'erreur de bibliothèque fusionnée en cas de dépendance non résolue
Les propriétés système de gradle.properties ne sont pas transmises aux travailleurs Gradle R8 dans des processus distincts
Définir BuiltArtifact.outputFile comme type de fichier
L'absence d'espace de noms dans la bibliothèque fusionnée ne génère pas de message d'erreur approprié
Les options lint dans AGP 7.1.0-alpha08 n'autorisent pas stdout
Plug-in Android Gradle: les variantes doivent exposer les noms des ensembles de sources
Le cache de configuration est fragile par rapport au paramètre de la variable d'environnement TERM
AndroidComponentsExtension.addSourceSetConfigurations ne fonctionne pas lorsque les statistiques sont activées
Ligne 162 du script d'initialisation "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle"
AndroidComponentsExtension.addSourceSetConfigurations ne fonctionne pas lorsque les statistiques sont activées
Compilateur DEX (D8)
java.lang.VerifyError: le vérificateur a rejeté la classe: [0x430] copy1 v2<-v264 type=Undefined cat=3
Lint
Plantage de Lint avec les vérifications Gradle lint
Lint échoue avec InstantiationException sans message d'exception dans la trace de la pile lint
Vérification lint faussement positive android.permission.SCHEDULE_EXACT_ALARM n'est accordée qu'aux applications système
La vérification StringFormatInvalid doit être appliquée à la méthode stringResource de Compose
L'annotation RequiresFeature ne fonctionne pas pour les fichiers Kotlin
kotlin android.os.Handler removeCallbacks Runnable
Analyse lint de WrongConstant sur la définition au lieu de l'utilisation de la constante à l'aide de la touche Maj
L'analyse lint WrongConstant apparaît deux fois
Exception d'exécution sous l'API 26 avec une API Java nio non prise en charge (sans erreur lint)
Lint empêche l'utilisation de RequiresApi, même sur la méthode d'assistance privée lors des tests
Le mode K2 génère un avertissement RestrictedApi lors de l'utilisation de .hasRoute(Route::class) dans Android Studio
Lint suggère de remplacer @RequiresExtension lors des tests par @SdkSuppress, qui n'est pas compatible avec les extensions de SDK
Lint signale de manière incorrecte une mise en page imbriquée inutile lorsqu'un FrameLayout utilisé avec fitSystemWindows encapsule un RelativeLayout enfant qui nécessite une marge intérieure personnalisée.
La règle lint CoarseFineLocation ne tient pas compte d'un attribut maxSdkVersion
AppLinkSplitToWebAndCustom est UnknownIssue dans lint 8.7.3
Plantage de la vérification lint StringEscapeDetector sur "\\ "
Avertissement lint incorrect pour l'annotation "@Parcelize" sur les interfaces scellées
AS 2024.3.1.4 se bloque de manière intermittente lors de la modification de textes Kotlin.
Intégration de Lint
lintVitalRelease ne s'exécute pas automatiquement lors de la création du bundle d'application
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

Plug-in Android Gradle 8.9.1

Problèmes résolus
Compilateur DEX (D8)
Portage rétroactif incorrect d'android.os.Build.VERSION_CODES_FULL pour Baklava
Réducteur de code (R8)
Impossible de générer un APK signé après la mise à niveau vers AGP 8.9.0
L'analyse de la propriété "écrit avant lecture" aux sites d'allocation génère une erreur lors de la génération du fichier de classe.
Problème concernant le SPI Java dans le réducteur R8 des versions 8.6.* 8.7.* 8.8.0

Plug-in Android Gradle 8.9.2

Problèmes résolus
Réducteur de code (R8)
Problème de réduction des ressources dans AGP 8.9 entraînant des ressources manquantes dans les modules de fonctionnalités dynamiques
ClassCastException à partir d'un cast sécurisé lors de l'initialisation de la classe
Impossible d'invoquer com.android.tools.r8.internal.H5.x()