Plug-in Android Gradle 8.9.0 (mars 2025)

Le plug-in Android Gradle 8.9.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.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.
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.9.2

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

Plug-in Android Gradle 8.9.1

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

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 peu utile "compileSdkVersion is not specified. Please add it to build.gradle" (compileSdkVersion n'est pas spécifié. Veuillez l'ajouter à build.gradle)
L'option "Clean build" (Compilation propre) est manquante dans le menu "Build" (Compiler)
Peut-être laisser la prise en charge Kotlin intégrée d'AGP ajouter automatiquement la dépendance kotlin stdlib
Mettre à jour shouldConfigureKotlinPlatformAttribute pour gérer la prise en charge Kotlin intégrée
Fournir la syntaxe Gradle Kotlin dans le message d'erreur pour `checkTestedAppObfuscationRelease`
Amélioration possible de l'erreur de bibliothèque fusionnée lorsqu'une dépendance non résolue est détectée
Les propriétés système de gradle.properties ne sont pas transmises aux Workers Gradle R8 dans des processus distincts
Définir BuiltArtifact.outputFile comme type de fichier
Ne pas fournir d'espace de noms sur la bibliothèque fusionnée ne génère pas un bon message d'erreur
Les options lint dans AGP 7.1.0-alpha08 n'autorisent pas stdout
Plug-in Android Gradle : les variantes devraient exposer les noms des ensembles de sources
Le cache de configuration est fragile par rapport à la définition de la variable d'environnement TERM
AndroidComponentsExtension.addSourceSetConfigurations ne fonctionne plus lorsque les statistiques sont activées
Script d'initialisation "C:\Users\mypc\AppData\Local\Temp\ijresolvers2.gradle" ligne : 162
AndroidComponentsExtension.addSourceSetConfigurations ne fonctionne plus 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
Lint plante avec les vérifications Gradle Lint
Lint échoue avec InstantiationException sans message d'exception dans la trace de la pile Lint
Faux positif de la vérification du lint, 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 Compose stringResource
L'annotation RequiresFeature ne fonctionne pas pour les fichiers Kotlin
kotlin android.os.Handler removeCallbacks Runnable
Lint WrongConstant sur la définition au lieu de l'utilisation de la constante à l'aide de la touche Maj
WrongConstant du lint apparaissant deux fois
Exception d'exécution en dessous de l'API 26 avec une API Java nio non compatible (sans erreur lint)
Lint empêche l'utilisation de RequiresApi, même sur une méthode d'assistance privée dans le test
Le mode K2 génère un avertissement RestrictedApi lorsque vous utilisez .hasRoute(Route::class) dans Android Studio
Lint suggère de remplacer @RequiresExtension sur le test par @SdkSuppress, qui n'est pas compatible avec les extensions SDK
Lint signale à tort une mise en page imbriquée inutile lorsqu'un FrameLayout est utilisé avec fitSystemWindows pour encapsuler un RelativeLayout enfant qui nécessite un remplissage personnalisé.
La règle lint CoarseFineLocation ne tient pas compte d'un attribut maxSdkVersion
AppLinkSplitToWebAndCustom est UnknownIssue dans lint 8.7.3
Lint vérifie le plantage de StringEscapeDetector sur "\\ "
Avertissement lint incorrect pour l'annotation `@Parcelize` sur les interfaces scellées
L'AS 2024.3.1.4 se bloque par intermittence 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)
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