Android Studio 4.2 (avril 2021)

Android Studio 4.2 est une version majeure qui comprend plusieurs nouvelles fonctionnalités et améliorations.

4.2.2 (juin 2021)

Cette mise à jour mineure inclut plusieurs corrections de bugs. Pour voir la liste des corrections de bugs principaux, lisez l'article associé sur le blog des mises à jour des versions.

4.2.1 (mai 2021)

Cette mise à jour mineure inclut le plug-in Kotlin 1.5.0 et plusieurs corrections de bugs. Pour consulter la liste des corrections de bugs principaux, lisez l'article associé sur le blog des mises à jour des versions.

Plug-in Android Gradle 4.2.0

La dernière version du plug-in Android Gradle comprend de nombreuses mises à jour. Pour en savoir plus, consultez les notes de version complètes du plug-in Android Gradle.

Compatibilité avec Gradle et modifications de configuration

Lorsqu'il s'exécute dans Android Studio, l'outil de compilation Gradle utilise le JDK fourni par Studio. Dans les versions précédentes, JDK 8 était fourni avec Studio. Dans la version 4.2, cependant, JDK 11 est désormais fourni à la place. L'utilisation du nouveau JDK fourni pour exécuter Gradle peut entraîner une incompatibilité ou une incidence sur les performances de la JVM en raison de modifications apportées au récupérateur de mémoire. Ces problèmes sont décrits dans les notes de version d'AGP.

Option permettant d'optimiser le temps de synchronisation Gradle

Pour améliorer les performances de la synchronisation Gradle, Android Studio ignore la compilation de la liste des tâches lors de la synchronisation. Cela permet à la synchronisation Gradle de se terminer plus rapidement et améliore la réactivité de l'interface utilisateur pour les projets très volumineux. Cette option est activée par défaut dans Android Studio 4.2. Pour la désactiver, accédez à File > Settings > Experimental (Fichier > Paramètres > Expérimental) ou à Preferences > Experimental (Préférences > Expérimental) sur Mac, puis décochez Do not build Gradle task list during Gradle sync (Ne pas créer de liste de tâches Gradle pendant la synchronisation Gradle).

Outil d'inspection de bases de données

Améliorations apportées à l'Éditeur de requête

L'outil d'inspection de bases de données comporte certaines améliorations pour vous aider à écrire et à exécuter vos instructions SQL personnalisées. Lorsque vous ouvrez l'inspecteur et que vous ouvrez un onglet New query (Nouvelle requête), vous devez remarquer une surface d'éditeur plus grande et redimensionnable, permettant de créer et de mettre en forme vos requêtes, comme indiqué ci-dessous.

Éditeur de l'outil d'inspection de bases de données

De plus, nous fournissons maintenant un historique de vos requêtes précédentes. Lorsque vous cliquez sur le bouton Show query history (Afficher l'historique des requêtes) Bouton Show query history (Afficher l'historique des requêtes){: .inline-icon}, une liste des requêtes que vous avez précédemment exécutées sur la base de données sélectionnée doit s'afficher. Cliquez sur une requête de la liste pour afficher un aperçu de la requête complète dans l'éditeur, puis appuyez sur Entrée pour la copier dans l'éditeur. Cliquez sur Run (Exécuter) pour exécuter l'instruction.

Commande Run (Exécuter) dans l'éditeur de requête

Mode hors connexion

Dans les versions précédentes d'Android Studio, la déconnexion d'un processus d'application lors de l'utilisation de l'outil d'inspection de bases de données entraînait la fermeture de l'outil d'inspection et de ses données. Dans Android Studio 4.2, nous avons ajouté la possibilité de continuer à inspecter les bases de données de votre application après la déconnexion d'un processus, afin de faciliter le débogage de votre application après un plantage.

En cas de déconnexion, l'outil d'inspection de bases de données télécharge vos bases de données, puis les met à votre disposition en mode hors connexion. En mode hors connexion, vous pouvez ouvrir des tables et exécuter des requêtes.

N'oubliez pas que, lorsque vous vous reconnectez à un processus d'application en direct, l'outil d'inspection de bases de données repasse en mode en direct et n'affiche que les données stockées sur l'appareil. Autrement dit, les données affichées en mode hors connexion ne sont pas conservées lorsque vous vous reconnectez à un processus d'application. De ce fait, l'outil d'inspection de bases de données ne permet pas de modifier ni d'exécuter des instructions de modification en mode hors connexion.

Assistant de mise à niveau pour AGP

Le nouvel assistant de mise à jour du plug-in Android Gradle peut vous aider à mettre à jour la version AGP de votre projet.

Boîte de dialogue "Assistant de mise à niveau" du plug-in Android Gradle

Cet outil, basé sur la fonctionnalité de mise à niveau AGP existante, vous guide tout au long des mises à jour/refactorisations d'un projet et inclut un aperçu des mises à jour pour éviter d'éventuelles modifications destructives avant l'exécution de la mise à niveau AGP.

Aperçu des modifications à effectuer par l'assistant de mise à niveau

Trace système : amélioration des métriques pour la mémoire et les graphiques

Dans le Profileur de processeur, la fonctionnalité Trace système comprend à présent de nouvelles métriques pour analyser les performances des applications et inclut les éléments suivants :

  • Tableau des événements. Présente tous les événements de trace du thread sélectionné

  • BufferQueue. Dans la section "Display" (Affichage), cette nouvelle piste affiche le nombre de tampons de la surface BufferQueue de l'application (0, 1 ou 2) pour vous aider à comprendre l'état des tampons d'image lorsqu'ils se déplacent entre les composants graphiques Android.

    File d'attente des tampons de trace système

  • Fréquence du processeur. Dans la section "CPU cores" (Cœurs de processeur), cette nouvelle piste affiche la fréquence de processeur par cœur, ce qui indique le degré de fonctionnement de chaque cœur.

    Fréquence de processeur de trace système

  • Mémoire de processus (RSS). Cette nouvelle fenêtre affiche la quantité de mémoire physique actuellement utilisée par l'application.

    Mémoire de processus (RSS) de trace système

Pour en savoir plus, consultez Inspecter l'activité du processeur avec le Profileur de processeur.

Nouvelle action d'actualisation de l'outil d'inspection de la mise en page

Introduit dans Android Studio 4.0, l'outil d'inspection de la mise en page a été conçu pour inspecter en temps réel la pile d'interface utilisateur de votre application en cours d'exécution. Cependant, vous ne souhaitez pas toujours que l'outil d'inspection de la mise en page reflète immédiatement ce qui se passe dans votre application. En effet, vous pouvez souhaiter inspecter un instantané de la mise en page de votre application à un moment précis ou réduire l'impact sur les performances des mises à jour en temps réel sur votre application.

Pour charger manuellement un instantané des données de l'interface utilisateur à partir de votre application, désactivez d'abord l'option Live updates (Mises à jour en direct). Vous pouvez ensuite cliquer sur le bouton Refresh (Actualiser) {:.inline-icon} pour créer un instantané de la pile d'interface utilisateur à inspecter. L'outil d'inspection de la mise en page mémorise maintenant votre préférence de laisser les mises à jour en direct activées ou désactivées entre les sessions.

Compatibilité avec Safe Args

Safe Args est un plug-in Gradle qui génère des classes simples d'objets et de compilateurs pour une navigation sécurisée et l'accès à tous les arguments associés. Android Studio offre à présent une compatibilité plus complète avec Safe Args, comme décrit ci-dessous :

  • Saisies semi-automatiques pour Directions, Args et les différentes classes de compilateurs
  • Compatibilité avec les plug-ins Safe Args de Java et Kotlin
  • Navigation de la source vers le XML

R8 retrace à présent disponible dans les outils de ligne de commande

Disponible dans la version 4.0 des outils de ligne de commande, R8 retrace est un outil autonome permettant d'obtenir la trace de la pile d'origine à partir d'une trace de pile obscurcie.

Vous pouvez télécharger ce package à l'aide de SDK Manager qui installe R8 retrace dans android_sdk/cmdline-tools. Vous pouvez aussi télécharger le package d'outils de ligne de commande autonome.

Pour en savoir plus sur l'utilisation, consultez la section R8 retrace du guide de l'utilisateur.

Déployer sur plusieurs appareils

Pour simplifier les tests d'application sur les appareils et les niveaux d'API, vous pouvez à présent déployer votre application sur plusieurs appareils ou émulateurs simultanément en procédant comme suit :

  1. Choisissez Select Multiple Devices (Sélectionner plusieurs appareils) dans le menu déroulant des appareils cibles, en haut au centre de l'IDE.

    Menu déroulant des appareils cibles

  2. Sélectionnez les appareils cibles, puis cliquez sur OK.

    Boîte de dialogue "Modifier l'ensemble d'appareils"

  3. Exécutez votre application.

Nouveau paramètre removable pour les modules de fonctionnalités

Le plug-in Android Gradle 4.2 utilise bundletool 1.0.0, qui introduit un changement de comportement pour les applications utilisant des modules de fonctionnalités : tout module de fonctionnalité spécifié comme dist:install-time qui n'est pas explicitement marqué comme dist:removable ne peut plus être supprimé par défaut. Ce nouveau paramètre optimise la fusion des modules de temps d'installation avec le module de base, ce qui peut améliorer les performances de certaines applications.

Pour que les modules de fonctionnalités puissent être supprimés, définissez dist:removable="true" sur tous les modules que vous souhaitez désinstaller.

Pour plus d'informations sur ce nouveau paramètre, consultez la documentation sur le tag dist:removable dans la documentation correspondant au fichier manifeste du module de fonctionnalité.

Appliquer les modifications

Pour vous aider à être plus productif lors des itérations sur votre application, nous avons apporté les améliorations suivantes à la fonctionnalité "Appliquer les modifications" pour les appareils équipés d'Android 11 ou version ultérieure :

Prise en charge d'autres modifications de code

Pour les appareils équipés d'Android 11 ou version ultérieure, vous pouvez à présent ajouter des champs primitifs finaux statiques, puis déployer ces modifications dans votre application en cours d'exécution en cliquant sur Apply Code Changes (Appliquer les modifications du code) Icône Apply Code Changes (Appliquer les modifications du code) ou Apply Changes and Restart Activity (Appliquer les modifications et redémarrer l'activité) Icône Apply Changes and Restart Activity (Appliquer les modifications et redémarrer l'activité).

Vous pouvez également ajouter des ressources et déployer ces modifications sur votre application en cours d'exécution sur les appareils Android 11 en cliquant sur Apply Changes and Restart Activity (Appliquer les modifications et redémarrer l'activité) Icône Apply Changes and Restart Activity (Appliquer les modifications et redémarrer l'activité).

Mise à jour des assistants "New Project" (Nouveau projet) et "New Module" (Nouveau module)

Les assistants New Project (Nouveau projet) et New Module (Nouveau module) ont été mis à jour pour faciliter la navigation, la sélection d'un modèle et la saisie d'informations sur le nouveau projet ou le nouveau module.

L'option Import .JAR/.AAR Package (Importer un package .JAR/.AAR) de l'assistant New Module (Nouveau module) a également été supprimée. Pour importer un fichier JAR ou AAR dans votre projet, utilisez plutôt la boîte de dialogue "Project Structure" (Structure du projet).

Kotlin 1.4.31

Android Studio 4.2 inclut Kotlin 1.4.31. Consultez le journal des modifications de Kotlin 1.4.0 pour passer en revue les modifications majeures.

Variable d'environnement ANDROID_SDK_HOME obsolète

La variable d'environnement ANDROID_SDK_HOME est obsolète et a été remplacée par ANDROID_PREFS_ROOT. Pour en savoir plus, consultez Variables d'environnement de l'émulateur.

Problèmes connus concernant Android Studio 4.2

Cette section décrit les problèmes connus d'Android Studio 4.2. Pour en obtenir la liste complète, accédez à la page Problèmes connus.

Android Studio 4.2.0 génère des projets associés avec la mauvaise version de Kotlin : "1.5.0-release-764"

Si vous utilisez Android Studio 4.2.0 et que vous avez migré vers le plug-in Kotlin 1.5.0, les projets Kotlin créés par Studio échoueront en raison de l'erreur de synchronisation Gradle suivante :

Could not find org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.0-release-764.

Pour contourner ce problème, remplacez 1.5.0-release-764 par 1.5.0 dans les fichiers build.gradle du projet.

Erreur lors de l'utilisation de mots de passe différents pour la clé et le keystore

À partir de la version 4.2, Android Studio s'exécute maintenant sur JDK 11. Cette mise à jour entraîne un changement de comportement sous-jacent lié aux clés de signature.

Lorsque vous accédez à Build > Generate Signed Bundle / APK (Compilation > Générer un bundle/APK signé) et que vous essayez de configurer la signature d'application pour un app bundle ou un APK, la saisie de mots de passe différents pour la clé et le keystore peut entraîner l'erreur suivante :

Key was created with errors:
Warning: Different store and Key passwords not supported for PKCS12 Key stores

Pour contourner ce problème, saisissez le même mot de passe pour la clé et le keystore.

Android Studio ne démarre pas après l'installation de la version 4.2

Studio essaie d'importer les .vmoptions précédentes et de les nettoyer pour qu'elles fonctionnent avec le récupérateur de mémoire utilisé par JDK 11. Si ce processus échoue, l'IDE peut ne pas démarrer pour certains utilisateurs qui ont défini des options de VM personnalisées dans le fichier .vmoptions.

Pour contourner ce problème, nous vous recommandons de mettre en commentaire les options personnalisées dans .vmoptions (en utilisant le caractère #). Le fichier .vmoptions se trouve aux emplacements suivants :

Windows

C:\Users\YourUserName\AppData\<var>[Local|Roaming]</var>\Google\AndroidStudio4.2\studio64.exe.vmoptions

macOS

~/Library/Application Support/Google/AndroidStudio4.2/studio.vmoptions

Linux

~/.config/Google/AndroidStudio4.2/studio64.vmoptions

Si Studio ne démarre toujours pas après cette solution, consultez la section Studio ne démarre pas après la mise à niveau ci-dessous.