La boîte à outils Jetpack Compose fournit une approche moderne de la création de l'interface utilisateur de votre application. La boîte à outils présente également tous les avantages de Kotlin, tels que l’écriture de code concis et idiomatique totalement interopérable avec Java.
Pour une meilleure expérience de développement avec Jetpack Compose, vous devez utiliser la dernière version d'Android Studio 4.0. En effet, lorsque vous utilisez Android Studio pour développer votre application avec Jetpack Compose, vous pouvez bénéficier des fonctionnalités d’éditeur intelligent, telles que les modèles de nouveau projet et la possibilité de prévisualiser immédiatement votre interface utilisateur Compose.
Bibliothèque Java 8 desugaring en D8 et R8
Android Studio prend désormais en charge l'utilisation de plusieurs API de langage Java 8 sans qu'un niveau d'API minimum soit requis pour votre application.
Par le biais d'un processus appelé desugaring, le compilateur DEX D8 dans Android Studio 3.0 et dans les versions ultérieures assurait déjà une prise en charge substantielle des fonctionnalités du langage Java 8 (telles que les expressions lambda, les méthodes d'interface par défaut, les ressources, etc.). Dans Android Studio 4.0, le moteur de desugaring a été étendu pour permettre de désinstaller les API du langage Java. Cela signifie que vous pouvez désormais inclure des API de langage standard, disponibles uniquement dans les dernières versions d'Android (telles que java.util.streams), dans des applications prenant en charge les anciennes versions d'Android.
L'ensemble d'API suivant est pris en charge dans cette version:
- Flux séquentiels (java.util.stream)
- Un sous-ensemble de java.time
- java.util.function
- Ajouts récents à java.util. {Carte, Collection, Comparateur}
- Options (java.util.Optional, java.util.OptionalInt et java.util.OptionalDouble) et quelques autres nouvelles classes utiles avec les API ci-dessus.
- Quelques ajouts à java.util.concurrent.atomic (nouvelles méthodes sur AtomicInteger, AtomicLong et AtomicReference)
- ConcurrentHashMap (avec corrections de bugs pour Android 5.0)
Pour prendre en charge ces API de langage, D8 compile un fichier DEX de bibliothèque séparé contenant une implémentation des API manquantes et l'inclut dans votre application. Le processus de desugaring réécrit le code de votre application pour utiliser cette bibliothèque au moment de l’exécution.
Pour activer la prise en charge de ces API de langage, incluez les éléments suivants dans le fichier build.gradle de votre module:
Code Java : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | android { defaultConfig { // Required when setting minSdkVersion to 20 or lower multiDexEnabled true } compileOptions { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true // Sets Java compatibility to Java 8 sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } |
Prise en charge des fichiers de script Kotlin DSL
Le plugin Android Gradle prend désormais en charge les fichiers de script de génération Kotlin DSL (* .kts). Lorsqu'elles sont utilisées avec Android Studio, certaines fonctionnalités de l'EDI, telles que la boîte de dialogue Structure de projet et les correctifs de script de génération, prennent désormais également en charge la lecture et l'écriture dans les fichiers de script de génération Kotlin.
Fonctionnalités Smart Editor pour les règles ProGuard
Android Studio fournit désormais des fonctionnalités d'édition intelligentes lorsque vous ouvrez des fichiers de règles ProGuard, telles que la coloration syntaxique, la complétion du code et la vérification des erreurs. L'éditeur s'intègre également à votre projet Android Studio pour fournir une complétion complète des symboles pour toutes les classes, méthodes et champs, et inclut une navigation rapide et un refactoring.
Nouvel éditeur de mouvement
Android Studio inclut désormais un éditeur de conception visuelle pour le type de disposition MotionLayout, ce qui facilite la création et la prévisualisation d'animations.
Motion Editor fournit une interface simple pour manipuler des éléments de la bibliothèque MotionLayout qui sert de base à l'animation dans les applications Android. Dans les versions précédentes, la création et la modification de ces éléments nécessitaient l'édition manuelle des contraintes dans les fichiers de ressources XML. Motion Editor peut désormais générer ce code XML pour vous, avec prise en charge des états de début et de fin, des images clés, des transitions et des chronologies.
Dépendances entre fonctionnalités
Dans les versions précédentes du plugin Android Gradle, tous les modules Dynamic Feature ne pouvaient dépendre que du module de base de l'application. Lorsque vous utilisez le plugin Android Gradle 4.0.0, vous pouvez désormais inclure un module de fonctionnalités qui dépend d'un autre module. Ainsi, une fonctionnalité :video peut dépendre de la fonctionnalité :camera, qui dépend du module de base, comme indiqué dans la figure ci-dessous.
Cela signifie que lorsque votre application demande à télécharger un module de fonctionnalité dynamique, elle télécharge également les autres modules de fonctionnalité dont elle dépend. Après avoir créé des modules de fonctionnalités dynamiques pour votre application, vous pouvez déclarer une dépendance de fonctionnalité sur fonctionnalité dans le fichier build.gradle du module. Par exemple, le module :video déclare une dépendance sur :camera comme suit:
Code Java : | Sélectionner tout |
1 2 3 4 5 6 7 8 9 10 | // In the build.gradle file of the ':video' module. dependencies { // All dynamic feature modules must declare a dependency // on the base module. implementation project(':app') // Declares that this module also depends on the 'camera' // dynamic feature module. implementation project(':camera') ... } |
En outre, vous devez activer la fonctionnalité de dépendance fonctionnalité par fonctionnalité dans Android Studio (pour la prendre en charge lors de la modification de la configuration de l'exécution, par exemple) en cliquant sur Aide> Modifier les options de machine virtuelle personnalisée dans la barre de menus et en incluant les éléments suivants:
Code Java : | Sélectionner tout |
-Drundebug.feature.on.feature=true
plugins Android Gradle 'feature' et 'instantapp' supprimés
Le plugin Android Gradle 3.6.0 a déprécié le plugin Feature (com.android.feature) et le plugin Instant App (com.android.instantapp) en faveur de l’utilisation du plugin Dynamic Feature (com.android.dynamic-feature) pour générer et conditionner vos applications instantanées utilisant des ensembles d'applications Android.
Dans les plugins Android Gradle 4.0.0-alpha01 et supérieurs, ces plugins obsolètes sont complètement supprimés. Ainsi, pour utiliser le dernier plugin Android Gradle, vous devez migrer votre application instantanée afin de prendre en charge les ensembles d'applications Android. En migrant vos applications instantanées, vous pouvez exploiter les avantages des offres groupées et simplifier la conception modulaire de votre application.
Source : Android
Télécharger Android Studio 4.0
Voir aussi :
Android Studio 3.5 Beta est disponible en téléchargement, l'EDI se concentre sur la santé du système ainsi que le polissage des fonctionnalités
Google publie la version 3.4 de l'EDI Android Studio qui se débarrasse de vieux problèmes de flux de travail
IntelliJ IDEA 2019.1 EAP5 permet de visualiser les emplacements récents de code, et prend en charge les modifications apportées par Android Studio 3.3