Plug-in Android Gradle 3.2.0 (septembre 2018)
Cette version du plug-in d'Android nécessite les éléments suivants :
Version minimale | Version par défaut | Notes | |
---|---|---|---|
Gradle | 4.6 | 4.6 | Pour en savoir plus, consultez Mettre à jour Gradle. |
Build Tools SDK | 28.0.3 | 28.0.3 | Installez ou configurez des Build Tools SDK. |
3.2.1 (octobre 2018)
Avec cette mise à jour, il n'est plus nécessaire d'indiquer une version spécifique pour SDK Build Tools. Le plug-in Android Gradle utilise désormais par défaut la version 28.0.3.
Nouvelles fonctionnalités
-
Prise en charge de la compilation d'Android App Bundles : l'app bundle est un nouveau format d'importation qui inclut l'ensemble du code et des ressources compilés de votre application, tout en déléguant la génération des APK et leur signature au Google Play Store. Il n'est plus nécessaire de compiler, signer et gérer plusieurs APK, et les utilisateurs bénéficient de téléchargements moins volumineux, optimisés pour leur appareil. Pour en savoir plus, consultez À propos des Android App Bundles.
-
Prise en charge de vitesses de compilation incrémentielles améliorées à l'aide de processeurs d'annotations : le DSL
AnnotationProcessorOptions
étend désormaisCommandLineArgumentProvider
, ce qui vous permet à vous ou à l'auteur du processeur d'annotations d'annoter les arguments du processeur à l'aide d'annotations de type de propriété à compilation incrémentielle. L'utilisation de ces annotations améliore la précision et les performances des builds propres mis en cache et incrémentiels. Pour en savoir plus, consultez Transmettre des arguments aux processeurs d'annotations. -
Outil de migration pour AndroidX : lorsque vous utilisez le plug-in Android Gradle 3.2.0 avec Android 3.2 ou version ultérieure, vous pouvez migrer les dépendances locales et Maven de votre projet pour utiliser les nouvelles bibliothèques AndroidX. Pour ce faire, sélectionnezRefactor > Migrate to AndroidX (Refactoriser > Migrer vers AndroidX) dans la barre de menu. Cet outil de migration définit également les indicateurs suivants sur
true
dans votre fichiergradle.properties
:-
android.useAndroidX
: si cet indicateur est défini surtrue
, le plug-in Android utilise la bibliothèque AndroidX appropriée au lieu d'une bibliothèque Support. Si cet indicateur n'est pas spécifié, le plug-in le définit par défaut surfalse
. -
android.enableJetifier
: si cet indicateur est défini surtrue
, le plug-in Android migre automatiquement les bibliothèques tierces existantes pour utiliser AndroidX en réécrivant leurs binaires. Si cet indicateur n'est pas spécifié, le plug-in le définit par défaut surfalse
. Vous ne pouvez définir cet indicateur surtrue
que siandroid.useAndroidX
est également défini surtrue
. Sinon, une erreur de compilation est générée.Pour en savoir plus, consultez la présentation d'AndroidX.
-
-
Nouvel outil de minification de code R8 : R8 est un nouvel outil de minification et d'obscurcissement du code qui remplace ProGuard. Vous pouvez commencer à utiliser la version preview de R8 en incluant ce qui suit dans le fichier
gradle.properties
de votre projet :android.enableR8 = true
android.enableR8 = true
Changements de comportement
-
Le désucrage avec D8 est désormais activé par défaut.
-
AAPT2 se trouve maintenant dans le dépôt Maven de Google. Pour utiliser AAPT2, assurez-vous que la dépendance
google()
est présente dans votre fichierbuild.gradle
, comme indiqué ci-dessous :buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
buildscript { repositories { google() // here jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() // and here jcenter() }
-
Le multidex natif est désormais activé par défaut. Les versions précédentes d'Android Studio activaient le multidex natif lors du déploiement de la version de débogage d'une application sur un appareil exécutant le niveau d'API Android 21 ou supérieur. Désormais, que vous effectuiez le déploiement sur un appareil ou que vous compiliez un APK en vue de sa publication, le plug-in Android Gradle active le multidex natif pour tous les modules qui définissent
minSdkVersion=21
ou plus. -
Le plug-in applique désormais une version minimale du plug-in Protobuf (0.8.6), du plug-in Kotlin (1.2.50) et du plug-in Crashlytics (1.25.4).
-
Le plug-in de module de fonctionnalité
com.android.feature
n'accepte désormais plus que des lettres, des chiffres et des traits de soulignement pour les noms de module. Par exemple, si le nom de votre module de fonctionnalité contient des tirets, une erreur de compilation est générée. Ce comportement correspond à celui du plug-in de fonctionnalité dynamique.
Correction de bugs
- JavaCompile peut désormais être mis en cache dans les projets avec liaison de données. (Problème 69243050)
- Amélioration de l'évitement de compilation pour les modules de bibliothèque avec liaison de données (Problème 77539932)
- Vous pouvez désormais réactiver la fonctionnalité Configurer à la demande si vous l'avez désactivée dans des versions antérieures en raison d'erreurs de compilation imprévisibles. (Problème 77910727)