Plug-in Android Gradle 8.3.0 (février 2024)

Le plug-in Android Gradle 8.3.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.3 est le niveau d'API 34. Voici d'autres informations concernant la compatibilité:

Version minimale Version par défaut Notes
Gradle 8,4 8,4 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 25.1.8937393 Installez ou configurez une autre version du NDK.
JDK 17 17 Pour en savoir plus, consultez Définir la version du JDK.

Voici les nouvelles fonctionnalités du plug-in Android Gradle 8.3.

Versions de correctif

Voici une liste des versions de correctif dans Android Studio Iguana et le plug-in Android Gradle 8.3.

Android Studio Iguana | 2023.2.1 Correctif 2 et AGP 8.3.2 (avril 2024)

Cette mise à jour mineure inclut ces corrections de bugs.

Android Studio Iguana | 2023.2.1 Correctif 1 et AGP 8.3.1 (mars 2024)

Cette mise à jour mineure inclut ces corrections de bugs.

Compatibilité avec les catalogues de versions Gradle

Android Studio est compatible avec les catalogues de versions Gradle basés sur le TOML. Cette fonctionnalité vous permet de gérer les dépendances dans un emplacement central et de les partager entre des modules ou des projets. Android Studio facilite désormais la configuration des catalogues de versions grâce aux suggestions de l'éditeur et à l'intégration à la boîte de dialogue Project Structure (Structure du projet). Découvrez comment configurer les catalogues de versions Gradle ou migrer votre build vers des catalogues de versions.

Complétion de code et navigation

Android Studio offre la complétion de code lorsque vous modifiez un catalogue de versions au format de fichier TOML ou que vous ajoutez une dépendance d'un catalogue de versions à un fichier de compilation. Pour utiliser la saisie automatique de code, appuyez sur Ctrl+Espace (Cmd+Espace sous macOS). En outre, vous pouvez passer rapidement d'une référence de dépendance dans le fichier build.gradle de votre application à l'emplacement où elle est déclarée dans le catalogue de versions en appuyant sur Ctrl+b (Cmd+b sous macOS).

Complétion de code lors de l'ajout d'une dépendance

Intégration avec la boîte de dialogue "Project Structure" (Structure du projet)

Si votre projet utilise un catalogue de versions défini au format de fichier TOML, vous pouvez modifier les variables que vous y avez définies via la vue Variables de la boîte de dialogue Project Structure (Structure du projet) Variables (File > Project Structure > Variables) dans Android Studio. Pour chaque catalogue de versions, une liste déroulante répertorie les variables de ce catalogue. Pour modifier une variable, cliquez sur sa valeur et remplacez-la. Lorsque vous enregistrez ces modifications, le fichier TOML est mis à jour en conséquence.

Variables d'un catalogue de versions dans la boîte de dialogue "Structure du projet"

Vous pouvez également mettre à jour les dépendances dans la vue Dependencies de la boîte de dialogue Project Structure (Structure du projet) (File > Project Structure > Dependencies (Fichier > Structure du projet > Dépendances). Pour mettre à jour des versions à l'aide de la boîte de dialogue Project Structure (Structure du projet), accédez au module et à la dépendance que vous souhaitez modifier, puis mettez à jour le champ Requested Version (Version demandée). Lorsque vous enregistrez ces modifications, le fichier TOML est mis à jour en conséquence. Notez que si la version de la dépendance a été définie à l'aide d'une variable, la mise à jour directe de la version de cette manière remplace la variable par une valeur codée en dur. Sachez également que la suppression d'une dépendance d'un fichier de compilation, que vous utilisiez ou non la boîte de dialogue Project Structure (Structure du projet), ne supprime pas la dépendance du catalogue de versions.

Dépendances d'un catalogue de versions dans la boîte de dialogue "Project Structure" (Structure du projet)

Limites et problèmes connus

Vous trouverez ci-dessous les problèmes ou limites connus liés à la compatibilité des catalogues de versions Gradle dans Android Studio.

  • Erreur lors de la mise en surbrillance des déclarations d'alias de plug-in dans les fichiers de script Kotlin: lorsque vous ajoutez une déclaration de plug-in au format alias(libs.plugins.example), l'éditeur ajoute un trait de soulignement rouge sous la partie libs. Il s'agit d'un problème connu dans les versions 8.0 et antérieures de Gradle, qui sera résolu dans une prochaine version de Gradle.

  • Android Studio n'est compatible qu'avec les catalogues de versions au format TOML: actuellement, la prise en charge de la complétion de code, de la navigation et de la boîte de dialogue "Structure du projet" d'Android Studio n'est disponible que pour les catalogues de versions définis dans le format de fichier TOML. Toutefois, vous pouvez toujours ajouter un catalogue de versions directement dans le fichier settings.gradle et utiliser ses dépendances dans votre projet.

  • La navigation dans les fichiers de compilation KTS n'est pas prise en charge: l'accès à une définition de dépendance dans un catalogue de versions en utilisant Ctrl + clic (Commande + clic sur macOS) n'est pas encore pris en charge pour les fichiers de compilation écrits à l'aide d'un script Kotlin.

  • Firebase Assistant ajoute les dépendances directement dans les scripts de compilation: Firebase Assistant ajoute des dépendances directement à vos scripts de compilation au lieu d'utiliser des catalogues de versions.

  • La fonctionnalité "Rechercher les utilisations" n'est pas compatible: la recherche des utilisations d'une variable de catalogue de versions dans d'autres fichiers de compilation n'est pas encore prise en charge, que le fichier de compilation soit en KTS ou en Groovy. Autrement dit, le fait d'utiliser la combinaison de touches Ctrl + clic (Commande + clic sous macOS) sur une définition de variable dans un catalogue de versions n'entraîne pas l'affichage des fichiers de compilation dans lesquels la variable est utilisée.

  • La boîte de dialogue "Project Structure" (Structure du projet) d'Android Studio affiche plusieurs fichiers de catalogue s'ils se trouvent dans le dossier racine gradle, mais n'affiche pas les catalogues d'un build composite. Par exemple, si vous disposez de deux fichiers de catalogue, un pour votre application et un pour une compilation composite, la boîte de dialogue "Project Structure" (Structure du projet) n'affiche que le fichier de catalogue d'applications. Vous pouvez utiliser une compilation composite, mais vous devez modifier son fichier TOML directement.

Autres insights sur les SDK: non-respect des règles

Android Studio affiche des avertissements d'analyse lint dans les fichiers build.gradle.kts et build.gradle, ainsi que dans la boîte de dialogue "Project Structure" (Structure du projet) pour les SDK publics qui ne respectent pas les règles Play dans le Google Play SDK Index. Vous devez mettre à jour toutes les dépendances qui ne respectent pas les règles de Google Play, car ces cas de non-respect pourraient vous empêcher de publier dans la Google Play Console à l'avenir. Les avertissements de non-respect des règles complètent les avertissements de version obsolète affichés par Android Studio.

Compatibilité avec la version compileSdk d'Android Studio

Android Studio affiche un avertissement si votre projet utilise un compileSdk qui n'est pas compatible avec la version actuelle d'Android Studio. Le cas échéant, il suggère également de passer à une version d'Android Studio compatible avec le compileSdk utilisé par votre projet. N'oubliez pas que la mise à niveau d'Android Studio peut également nécessiter la mise à niveau d'AGP. L'AGP affiche également un avertissement dans la fenêtre de l'outil Build (Compiler) si le compileSdk utilisé par votre projet n'est pas compatible avec la version actuelle d'AGP.

Changements de comportement de lint

À partir de la version 8.3.0-alpha02 du plug-in Android Gradle, lorsque lint est exécuté sur un module, des tâches d'analyse lint distinctes sont exécutées pour les composants principal et de test du module. L'objectif de ce changement est d'améliorer les performances. Pour revenir au comportement précédent, définissez android.experimental.lint.analysisPerComponent=false dans votre fichier gradle.properties.

Réduction précise des ressources activée par défaut

La réduction précise des ressources, qui supprime les entrées inutilisées du fichier resources.arsc et élimine les fichiers de ressources inutilisés, est activée par défaut. Lorsque cette réduction est activée, votre table de ressources est réduite, et seules les entrées de dossier res référencées sont incluses dans l'APK.

Pour désactiver la réduction précise des ressources, définissez android.enableNewResourceShrinker.preciseShrinking sur false dans le fichier gradle.properties de votre projet.