Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Plug-in Android Gradle 3.1.0 (mars 2018)
Cette version du plug-in d'Android nécessite les éléments suivants :
|
Version minimale |
Version par défaut |
Notes |
Gradle |
4.4 |
4.4 |
Pour en savoir plus, consultez Mettre à jour Gradle. |
Build Tools SDK |
27.0.3 |
27.0.3 |
Installez ou configurez des Build Tools SDK. Pour rappel, il n'est plus nécessaire de préciser une version spécifique pour les outils de compilation à l'aide de la propriété android.buildToolsVersion, car le plug-in utilise par défaut la version minimale requise. |
Nouveau compilateur DEX D8
Par défaut, Android Studio utilise désormais un nouveau compilateur DEX appelé D8. La compilation DEX est le processus qui consiste à transformer le bytecode .class
en bytecode .dex
pour Android Runtime (ou Dalvik, pour les versions antérieures d'Android). Par rapport au compilateur précédent, appelé DX, D8 compile plus rapidement et génère des fichiers DEX plus petits, tout en ayant des performances d'exécution d'application identiques voire supérieures.
D8 ne devrait pas modifier votre workflow de développement d'applications au quotidien. Toutefois, si vous rencontrez des problèmes liés au nouveau compilateur, veuillez signaler un bug. Vous pouvez désactiver temporairement D8 et utiliser DX en incluant ce qui suit dans le fichier gradle.properties
de votre projet :
android.enableD8=false
Pour les projets qui utilisent les fonctionnalités du langage Java 8, le désucrage incrémentiel est activé par défaut. Vous pouvez le désactiver en indiquant le code suivant dans le fichier gradle.properties
de votre projet :
android.enableIncrementalDesugaring=false.
Utilisateurs de la version preview : si vous utilisez déjà une version preview de D8, sachez qu'elle est désormais compilée par rapport aux bibliothèques incluses dans SDK Build Tools, et non dans le JDK.
Si vous accédez à des API qui existent dans le JDK, mais pas dans les bibliothèques de SDK Build Tools, une erreur de compilation est donc générée.
Changements de comportement
-
Lorsque vous compilez plusieurs APK qui ciblent chacun une ABI différente, par défaut, le plug-in ne génère plus d'APK pour les ABI suivantes : mips
, mips64
et armeabi
.
Si vous souhaitez compiler des APK ciblant ces ABI, vous devez utiliser NDK r16b ou une version antérieure et les spécifier dans votre fichier build.gradle
, comme indiqué ci-dessous :
splits {
abi {
include 'armeabi', 'mips', 'mips64'
...
}
}
splits {
abi {
include("armeabi", "mips", "mips64")
...
}
}
-
Le cache de compilation du plug-in Android supprime désormais les entrées de cache de plus de 30 jours.
-
Si vous transmettez "auto"
à resConfig
, les ressources de chaînes à empaqueter dans votre APK ne sont plus sélectionnées automatiquement.
Si vous continuez à utiliser "auto"
, le plug-in empaquette toutes les ressources de chaînes fournies par votre application et ses dépendances. Vous devez donc spécifier chaque paramètre régional que le plug-in doit empaqueter dans votre APK.
-
Comme les modules locaux ne peuvent pas dépendre de l'APK de test de votre application, l'ajout de dépendances à vos tests d'instrumentation à l'aide de la configuration, androidTestApi
au lieu de androidTestImplementation
, entraîne la génération de l'avertissement suivant par Gradle :
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
Correctifs
- Correction d'un problème qui empêche Android Studio de reconnaître correctement les dépendances dans des builds composites
- Résolution d'une erreur de synchronisation du projet lorsque le plug-in Android est chargé plusieurs fois dans une seule compilation, par exemple lorsque plusieurs sous-projets intègrent chacun le plug-in Android dans leur classpath buildscript
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[],[],null,["\u003cbr /\u003e\n\nAndroid Gradle Plugin 3.1.0 (March 2018)\n\nThis version of the Android plugin requires the following:\n\n| | Minimum version | Default version | Notes |\n|----------------:|:---------------:|:---------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| Gradle | 4.4 | 4.4 | To learn more, see [updating Gradle](/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). |\n| SDK Build Tools | 27.0.3 | 27.0.3 | [Install](/studio/intro/update#sdk-manager) or [configure](/tools/releases/build-tools) SDK Build Tools. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion property---the plugin uses the minimum required version by default. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nNew DEX compiler, D8\n\nBy default, Android Studio now uses a new DEX compiler called D8. DEX\ncompilation is the process of transforming `.class` bytecode into\n`.dex` bytecode for the Android Runtime (or Dalvik, for older\nversions of Android). Compared to the previous compiler, called DX, D8\ncompiles faster and outputs smaller DEX files, all while having the same or\nbetter app runtime performance.\n\nD8 shouldn't change your day-to-day app development workflow. However, if\nyou experience any issues related to the new compiler, please\n[report a bug](/studio/report-bugs). You can temporarily\ndisable D8 and use DX by including the following in your project's\n`gradle.properties` file: \n\n android.enableD8=false\n \nFor projects that\n[use Java 8 language features](/studio/write/java8-support),\nincremental desugaring is enabled by default. You can disable it by\nspecifying the following in your project's `gradle.properties` file: \n\n android.enableIncrementalDesugaring=false.\n \n\n**Preview users:** If you're already using a preview version of D8, note\nthat it now compiles against libraries included in the\n[SDK build tools](/studio/releases/build-tools)---not the JDK.\nSo, if you are accessing APIs that exist in the JDK but not in the SDK build\ntools libraries, you get a compile error.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nBehavior changes\n\n- When building multiple APKs that each target a different ABI, the\n no longer generates APKs for the following ABIs by default:\n `mips`, `mips64`, and `armeabi`.\n\n If you want to build APKs that target these ABIs, you must use\n [NDK r16b or lower](/ndk/downloads/revision_history) and\n specify the ABIs in your `build.gradle` file, as shown below: \n\n ```groovy\n splits {\n abi {\n include 'armeabi', 'mips', 'mips64'\n ...\n }\n }\n \n ``` \n\n ```kotlin\n splits {\n abi {\n include(\"armeabi\", \"mips\", \"mips64\")\n ...\n }\n }\n \n ```\n- The Android plugin's [build\n cache](/studio/build/build-cache) now evicts cache entries that are older than 30 days.\n\n- Passing `\"auto\"` to\n [`resConfig`](https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavor:resConfig(java.lang.String))\n no longer automatically picks string resources to package into your APK.\n If you continue to use `\"auto\"`, the plugin packages all string\n resources your app and its dependencies provide. So, you should instead\n specify each locale that you want the plugin to package into your APK.\n\n- Because local modules can't depend on your app's test APK, adding\n dependencies to your instrumented tests using the\n `androidTestApi` configuration, instead of\n `androidTestImplementation`, causes Gradle to issue the\n following warning:\n\n ```groovy\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ``` \n\n ```kotlin\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nFixes\n\n- Fixes an issue where Android Studio doesn't properly recognize dependencies in composite builds.\n- Fixes an issue where you get a project sync error when loading the Android plugin multiple times in a single build--for example, when multiple subprojects each include the Android plugin in their buildscript classpath.\n\n\u003cbr /\u003e"]]