Notes de version du plug-in Android Gradle 8.3

Le dépôt JCenter est disponible en lecture seule depuis le 31 mars 2021. Pour en savoir plus, consultez Mise à jour du service JCenter.

Le système de compilation d'Android Studio est basé sur Gradle, et le plug-in Android Gradle ajoute plusieurs fonctionnalités spécifiques à la compilation d'applications Android. Bien que le plug-in Android Gradle (AGP) soit généralement mis à jour en parallèle avec Android Studio, il (et le reste du système Gradle) peut s'exécuter indépendamment d'Android Studio et être mis à jour séparément.

Cette page explique comment maintenir vos outils Gradle à jour et détaille le contenu des dernières mises à jour. Pour obtenir les notes de version des anciennes versions du plug-in Android Gradle, consultez les notes de version antérieures.

Pour voir les corrections apportées à cette version du plug-in Android Gradle, consultez les problèmes résolus.

Pour un résumé global des modifications importantes à venir dans le plug-in Android Gradle, consultez la feuille de route du plug-in Android Gradle.

Pour savoir comment configurer vos builds Android avec Gradle, consultez les pages suivantes :

Pour en savoir plus sur le système de compilation Gradle, consultez le guide de l'utilisateur Gradle.

Mettre à jour le plug-in Android Gradle

Lorsque vous mettez à jour Android Studio, vous pouvez être invité à installer automatiquement la dernière version disponible du plug-in Android Gradle. Vous pouvez accepter la mise à jour ou indiquer manuellement une version spécifique en fonction des exigences de compilation de votre projet.

Vous pouvez préciser la version du plug-in soit via le menu File > Project Structure > Project (Fichier > Structure du projet > Projet) d'Android Studio, soit via le fichier build.gradle.kts de premier niveau. La version du plug-in s'applique à tous les modules créés dans ce projet Android Studio. L'exemple suivant définit le plug-in sur la version 8.3.0 du fichier build.gradle.kts:

Kotlin

plugins {
    id("com.android.application") version "8.3.0" apply false
    id("com.android.library") version "8.3.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.23" apply false
}

Groovy

plugins {
    id 'com.android.application' version '8.3.0' apply false
    id 'com.android.library' version '8.3.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.9.23' apply false
}

Attention:N'utilisez pas de dépendances dynamiques telles que 'com.android.tools.build:gradle:8.3.+' dans les numéros de version. L'utilisation de cette fonctionnalité peut entraîner des mises à jour inattendues et des difficultés à résoudre les différences de version.

Si la version du plug-in indiquée n'a pas été téléchargée, Gradle la télécharge la prochaine fois que vous compilez votre projet ou cliquez sur File > Sync Project with Gradle Files (Fichier > Synchroniser le projet avec les fichiers Gradle) dans la barre de menu d'Android Studio.

Mettre à jour Gradle

En mettant à jour Android Studio, vous pouvez également recevoir une invite pour mettre à jour Gradle vers la dernière version disponible. Vous pouvez accepter la mise à jour ou indiquer manuellement une version spécifique en fonction des exigences de compilation de votre projet.

Le tableau suivant indique les versions de Gradle requises pour chaque version du plug-in Android Gradle. Pour optimiser les performances, utilisez la dernière version possible de Gradle et du plug-in.

Version du plug-inVersion minimale requise de Gradle
8.4 (alpha)8.6-rc-1
8,38,4
8.28.2
8.18.0
8.08.0
7.47,5

Anciennes versions

Version du plug-inVersion de Gradle requise
7.37.4
7.27.3.3
7.17.2
7.07.0
4.2.0+6.7.1
4.1.0+6.5+
4.0.0+6.1.1+
3.6.0 à 3.6.45.6.4+
3.5.0 à 3.5.45.4.1+
3.4.0 à 3.4.35.1.1+
3.3.0 à 3.3.34.10.1+
3.2.0 à 3.2.14.6+
3.1.0+4.4+
3.0.0+4.1+
2.3.0+3.3+
2.1.3 à 2.2.32.14.1 à 3.5
2.0.0 à 2.1.22.10 à 2.13
1.5.02.2.1 à 2.13
1.2.0 à 1.3.12.2.1 à 2.9
1.0.0 à 1.1.32.2.1 à 2.3

Vous pouvez indiquer la version de Gradle spécifique soit via le menu File > Project Structure > Project (Fichier > Structure du projet > Projet) d'Android Studio, soit en mettant à jour votre version de Gradle à l'aide de la ligne de commande. La méthode privilégiée consiste à utiliser l'outil de ligne de commande Gradle Wrapper, qui met à jour les scripts gradlew. L'exemple suivant définit la version de Gradle sur la version 8.3 à l'aide de Gradle Wrapper. Notez que vous devez exécuter cette commande deux fois pour mettre à niveau à la fois Gradle et Gradle Wrapper lui-même (pour en savoir plus, consultez Mettre à niveau Gradle Wrapper).

gradle wrapper --gradle-version 8.3

Toutefois, cela peut échouer dans certains cas, par exemple si vous venez de mettre à jour l'AGP et qu'il n'est plus conforme à la version actuelle de Gradle. Dans ce cas, modifiez la référence de distribution Gradle dans le fichier gradle/wrapper/gradle-wrapper.properties. L'exemple suivant définit la version de Gradle sur la version 8.3 dans le fichier gradle-wrapper.properties.

...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.3-bin.zip
...

Compatibilité entre le plug-in Android Gradle et Android Studio

Le système de compilation Android Studio est basé sur Gradle, et le plug-in Android Gradle (AGP) ajoute plusieurs fonctionnalités spécifiques à la compilation d'applications Android. Le tableau suivant indique la version de l'AGP requise pour chaque version d'Android Studio.

Version d'Android Studio Version de l'AGP requise
Jellyfish | 2023.3.1 3,2 à 8,4
Iguana | 2023.2.1 3.2-8.3
Hedgehog | 2023.1.1 3.2-8.2
Giraffe | 2022.3.1 3.2-8.1
Flamingo | 2022.2.1 3.2-8.0
Electric Eel | 2022.1.1 3.2-7.4

Anciennes versions

Version d'Android Studio Version de l'AGP requise
Dolphin | 2021.3.1 3.2-7.3
Chipmunk | 2021.2.1 3.2-7.2
Bumblebee | 2021.1.1 3.2-7.1
Arctic Fox | 2020.3.1 3.1-7.0

Pour en savoir plus sur les nouveautés du plug-in d'Android Gradle, consultez les notes de version du plug-in d'Android Gradle.

Versions minimales des outils pour le niveau d'API Android

Il existe des versions minimales d'Android Studio et d'AGP compatibles avec un niveau d'API spécifique. L'utilisation de versions antérieures d'Android Studio ou d'AGP à celles requises par les éléments targetSdk ou compileSdk de votre projet pourrait entraîner des problèmes inattendus. Nous vous recommandons d'utiliser la dernière version preview d'Android Studio et d'AGP pour travailler sur des projets qui ciblent les versions preview de l'OS Android. Vous pouvez installer des versions preview d'Android Studio en plus d'une version stable.

Les versions minimales d'Android Studio et d'AGP sont les suivantes :

Niveau d'API Version minimale d'Android Studio Version minimale d'AGP
Aperçu de VanillaIceCream Jellyfish | 2023.3.1 8,4
34 Hedgehog | 2023.1.1 8.1.1
33 Flamingo | 2022.2.1 7,2

Modifications par version (novembre 2020)

Mise à jour de la numérotation de version du plug-in Android Gradle (AGP) afin qu'il corresponde plus précisément à l'outil de compilation Gradle sous-jacent.

Modifications importantes :

  • L'AGP utilisera désormais des dénominations sémantiques de versions, et les modifications importantes seront effectuées dans les versions majeures.

  • Une version majeure de l'AGP sera publiée chaque année, en même temps que la version majeure de Gradle.

  • La version 7.0 de l'AGP suivra la version 4.2 et nécessitera une mise à niveau vers la version 7.x de Gradle. Chaque version majeure de l'AGP nécessite une mise à niveau majeure de version dans l'outil Gradle sous-jacent.

  • Les API seront abandonnées environ un an à l'avance, et les fonctionnalités de remplacement seront disponibles simultanément. Les API obsolètes seront supprimées environ un an plus tard lors de la mise à jour majeure suivante.

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 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.