Android Studio 3.6 (février 2020)

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

Nous tenons à remercier tous les contributeurs de la communauté qui nous ont aidés à développer cette version.

3.6.3 (avril 2020)

Cette mise à jour mineure inclut plusieurs corrections de bugs. Pour consulter la liste des principales corrections de bugs, consultez l'article correspondant sur le blog des mises à jour des versions.

3.6.2 (mars 2020)

Cette mise à jour mineure inclut plusieurs corrections de bugs. Pour consulter la liste des principales corrections de bugs, consultez l'article correspondant sur le blog des mises à jour des versions.

3.6.1 (février 2020)

Cette mise à jour mineure inclut plusieurs corrections de bugs. Pour consulter la liste des principales corrections de bugs, consultez l'article correspondant sur le blog des mises à jour des versions.

Outils de conception

Cette version d'Android Studio inclut des mises à jour de plusieurs outils de conception, tels que l'éditeur de mise en page et le gestionnaire de ressources.

Vue fractionnée et zoom dans les éditeurs de conception

La vue fractionnée affiche à la fois les vues de conception et de texte

Les mises à jour suivantes apportées aux éditeurs de conception visuelle sont incluses dans cette version :

  • Les éditeurs de conception, tels que l'éditeur de mise en page et l'éditeur de navigation, proposent à présent une vue Split (Fractionner) qui permet de visualiser, en même temps, les affichages Project (Projet) et Code de votre UI. En haut à droite de la fenêtre de l'éditeur, trois boutons  icônes d'affichage permettent maintenant d'activer/de désactiver les options d'affichage :

    • Pour activer la vue fractionnée, cliquez sur l'icône Split (Fractionner) icône de vue fractionnée.
    • Pour activer l'affichage de la source XML, cliquez sur l'icône Source icône de la vue source.
    • Pour activer l'affichage Projet, cliquez sur l'icône Design (Conception) icône de l'affichage Projet.
  • Les commandes de zoom et de panoramique dans les éditeurs de conception ont été déplacées vers un panneau flottant situé en bas à droite de la fenêtre de l'éditeur.

Pour en savoir plus, consultez Créer une UI avec l'éditeur de mise en page.

Onglet "Resource" (Ressource) du sélecteur de couleur

Pour vous aider à mettre à jour rapidement les valeurs de ressource de couleur dans votre application lorsque vous utilisez le sélecteur de couleur dans votre fichier XML ou les outils de conception, l'IDE insère maintenant les valeurs de ressource de couleur pour vous.

Sélecteur de couleur avec valeurs de couleur insérées

Gestionnaire de ressources

Le gestionnaire de ressources contient les mises à jour suivantes :

  • Le gestionnaire de ressources est désormais compatible avec la plupart des types de ressources.
  • Lorsque vous recherchez une ressource, le gestionnaire de ressources affiche à présent les résultats de tous les modules du projet. Auparavant, les recherches ne renvoyaient que les résultats du module sélectionné.
  • Le bouton de filtre vous permet d'afficher les ressources des modules dépendants locaux, des bibliothèques externes et du framework Android. Vous pouvez également utiliser le filtre pour afficher des attributs de thème.
  • Vous pouvez maintenant renommer des ressources lors du processus d'importation. Pour ce faire, cliquez dans la zone de texte au-dessus de la ressource.

Pour en savoir plus, consultez Gérer les ressources d'UI de votre application avec le gestionnaire de ressources.

Mises à jour du plug-in Android Gradle

La dernière version du plug-in Android Gradle comprend de nombreuses mises à jour, y compris des optimisations de la vitesse de compilation, la prise en charge du plug-in de publication Maven et la compatibilité avec la liaison de vue. Pour en savoir plus, consultez les notes de version complètes.

Liaison de vue

La liaison de vue vous permet d'écrire plus facilement du code qui interagit avec les vues en générant une classe de liaison pour chaque fichier de mise en page XML. Ces classes contiennent des références directes à toutes les vues qui ont un identifiant dans la mise en page correspondante.

Étant donné qu'elle remplace findViewById(), la liaison de vue élimine le risque d'exceptions de pointeur nul résultant d'un ID de vue non valide.

Pour activer la liaison de vue, vous devez utiliser le plug-in Android Gradle 3.6.0 ou version ultérieure, et inclure les éléments suivants dans le fichier build.gradle de chaque module :

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Appliquer les modifications

Vous pouvez maintenant ajouter une classe et déployer cette modification de code dans votre application en cours d'exécution en cliquant sur Apply Code Changes (Appliquer les modifications au code) ou sur Apply Changes and Restart Activity (Appliquer les modifications et redémarrer l'activité).

Pour en savoir plus sur la différence entre ces deux actions, consultez Appliquer les modifications.

Option de menu "Refactor" (Refactoriser) pour activer la prise en charge des applis instantanées

Une fois le projet d'application créé, vous pouvez activer instantanément votre module de base à tout moment comme suit :

  1. Ouvrez le panneau Project(Projet) en sélectionnant View > Tool Windows > Project (Vue > Fenêtres d'outils > Projet) dans la barre de menu.
  2. Effectuez un clic droit sur votre module de base, nommé généralement "app", puis sélectionnez Refactor > Enable Instant Apps Support (Refactoriser > Activer la prise en charge des applis instantanées).
  3. Dans la boîte de dialogue qui s'affiche, sélectionnez votre module de base dans le menu déroulant.
  4. Cliquez sur OK.

Remarque : L'option permettant d'activer instantanément le module d'application de base à partir de l'assistant Créer un projet a été supprimée.

Pour en savoir plus, consultez la Présentation de Google Play Instant.

Désobscurcir le bytecode de classe et de méthode dans l'analyseur d'APK

Lorsque vous inspectez des fichiers DEX à l'aide de l'analyseur d'APK, vous pouvez désobscurcir le bytecode de classe et de méthode comme suit :

  1. Sélectionnez Build > Analyze APK (Compiler > Analyser APK) dans la barre de menu.
  2. Dans la boîte de dialogue qui s'affiche, accédez à l'APK que vous souhaitez inspecter, puis sélectionnez-le.
  3. Cliquez sur Open (Ouvrir).
  4. Dans l'analyseur d'APK, sélectionnez le fichier DEX à inspecter.
  5. Dans la visionneuse de fichiers DEX, chargez le fichier de mappages ProGuard pour l'APK en cours d'analyse.
  6. Effectuez un clic droit sur la classe ou la méthode que vous souhaitez inspecter, puis sélectionnez Show bytecode (Afficher le bytecode).

Outils natifs

Les mises à jour suivantes sont compatibles avec le développement natif (C/C++) dans Android Studio.

Prise en charge de Kotlin

Les fonctionnalités NDK suivantes d'Android Studio, auparavant compatibles avec Java, sont à présent également prises en charge dans Kotlin :

  • Passez d'une déclaration JNI à la fonction d'implémentation correspondante en C/C++. Pour afficher ce mappage, pointez sur le repère d'élément C ou C++ près du numéro de ligne dans le fichier de code source géré.

  • Créez automatiquement une fonction d'implémentation bouchon pour une déclaration JNI. Définissez la déclaration JNI, puis saisissez "jni" ou le nom de la méthode dans le fichier C/C++ à activer.

  • Les fonctions d'implémentation natives non utilisées sont signalées en tant qu'avertissements dans le code source. Les déclarations JNI avec des implémentations manquantes sont également signalées en tant qu'erreurs.

  • Lorsque vous renommez (refactorisez) une fonction d'implémentation native, toutes les déclarations JNI correspondantes sont mises à jour. Renommez une déclaration JNI pour mettre à jour la fonction d'implémentation native.

  • Vérification de la signature pour les implémentations JNI liées implicitement

Autres améliorations JNI

L'éditeur de code d'Android Studio prend désormais en charge un workflow de développement JNI plus fluide, avec des optimisations de type améliorées, la saisie semi-automatique, des inspections et la refactorisation de code.

Actualisation de l'APK pour les bibliothèques natives {:#3.6-reload-apk}

Vous n'avez plus besoin de créer de projet lorsque l'APK de votre projet est mis à jour en dehors de l'IDE. Android Studio détecte les modifications dans l'APK et vous offre la possibilité de le réimporter.

Joindre des sources APK Kotlin uniquement

Il est maintenant possible de joindre des sources d'APK externes Kotlin uniquement lorsque vous profilez et déboguez des APK prédéfinis. Pour en savoir plus, consultez Joindre des sources Kotlin/Java.

Détecter les fuites dans le Profileur de mémoire

Lorsque vous analysez une empreinte de mémoire dans le Profileur de mémoire, vous pouvez à présent filtrer les données de profilage qui, selon Android Studio, peuvent indiquer des fuites de mémoire pour les instances Activity et Fragment de votre application.

Vous pouvez filtrer les types de données suivants :

  • Instances Activity détruites, mais qui sont toujours référencées.
  • Instances Fragment qui n'ont pas de FragmentManager valide, mais qui sont toujours référencées.

Joindre des sources APK Kotlin uniquement

Il est maintenant possible de joindre des sources d'APK externes Kotlin uniquement lorsque vous profilez et déboguez des APK prédéfinis. Pour en savoir plus, consultez Joindre des sources Kotlin/Java.

Détecter les fuites dans le Profileur de mémoire

Lorsque vous analysez une empreinte de mémoire dans le Profileur de mémoire, vous pouvez à présent filtrer les données de profilage qui, selon Android Studio, peuvent indiquer des fuites de mémoire pour les instances Activity et Fragment de votre application.

Vous pouvez filtrer les types de données suivants :

  • Instances Activity détruites, mais qui sont toujours référencées.
  • Instances Fragment qui n'ont pas de FragmentManager valide, mais qui sont toujours référencées.

Dans certains cas, comme ceux exposés ci-dessous, le filtre peut générer des faux positifs :

  • Un Fragment a été créé, mais n'a pas encore été utilisé.
  • Un Fragment est mis en cache, mais ne fait partie d'aucune FragmentTransaction.

Pour utiliser cette fonctionnalité, commencez par capturer une empreinte de la mémoire ou importer un fichier d'empreinte de la mémoire dans Android Studio. Pour afficher les fragments et les activités susceptibles de provoquer une fuite de mémoire, cochez la case Activity/Fragment Leaks (Fuites d'activité/de fragment) dans le volet d'empreinte de mémoire du Profileur de mémoire.

Profileur : détection de fuite de mémoire

Filtrage d'une empreinte de la mémoire pour identifier les fuites de mémoire.

Émulateurs

Android Studio 3.6 vous permet de bénéficier de plusieurs mises à jour incluses dans Android Emulator 29.2.7 et versions ultérieures, comme décrit ci-dessous.

Prise en charge de la localisation améliorée

Android Emulator 29.2.7 ou version ultérieure prend en charge l'émulation des coordonnées GPS et des informations sur les itinéraires. Lorsque vous ouvrez les options Extended controls (Commandes avancées) des émulateurs, les options de l'onglet "Location" (Position) sont maintenant organisées dans deux onglets : Single points (Points uniques) et Routes (Itinéraires)

Points uniques

Dans l'onglet Single points (Points uniques), vous pouvez utiliser la WebView de Google Maps pour rechercher des points d'intérêt, comme lorsque vous utilisez Google Maps sur un téléphone ou dans un navigateur. Lorsque vous recherchez ou cliquez sur un emplacement de la carte, vous pouvez l'enregistrer en sélectionnant "Save point" (Enregistrer le point) au bas de la carte. Tous vos lieux enregistrés sont listés à droite de la fenêtre Extended controls (Commandes avancées).

Pour définir la position des émulateurs sur l'emplacement que vous avez sélectionné sur la carte, cliquez sur le bouton Set location (Définir l'emplacement) en bas à droite de la fenêtre Extended controls (Commandes avancées).

Onglet "Single points" (Points uniques) dans les commandes avancées de l'émulateur..

Itinéraires

À l'instar de l'onglet Single points (Points uniques), l'onglet Routes (Itinéraires) fournit une WebView Google Maps que vous pouvez utiliser pour créer un itinéraire entre plusieurs emplacements. Pour créer et enregistrer un itinéraire, procédez comme suit :

  1. Dans la vue plan, recherchez la première destination de votre itinéraire à l'aide du champ de texte.
  2. Sélectionnez le lieu souhaité dans les résultats de recherche.
  3. Sélectionnez le bouton Navigate (Naviguer).
  4. Sélectionnez le point de départ de votre itinéraire sur la carte.
  5. (Facultatif) Cliquez sur Add destination (Ajouter une destination) pour ajouter d'autres étapes à votre itinéraire.
  6. Enregistrez votre itinéraire en cliquant sur Save route (Enregistrer l'itinéraire) dans la vue plan.
  7. Attribuez un nom à l'itinéraire, puis cliquez sur Save (Enregistrer).

Pour simuler l'émulateur selon l'itinéraire que vous avez enregistré, sélectionnez l'itinéraire dans la liste Saved routes (Itinéraires enregistrés), puis cliquez sur Play route (Lire l'itinéraire) en bas à droite de la fenêtre Extended controls (Commandes avancées). Pour arrêter la simulation, cliquez sur Stop route (Arrêter l'itinéraire).

Onglet "Routes" (Itinéraires) dans les commandes avancées de l'émulateur..

Pour simuler en continu l'émulateur selon l'itinéraire spécifié, activez le bouton bascule situé à côté de Repeat playback (Répéter la lecture). Pour modifier la vitesse à laquelle l'émulateur suit l'itinéraire spécifié, sélectionnez une option dans le menu déroulant Playback speed (Vitesse de lecture).

Compatibilité multi-écran

Android Emulator vous permet désormais de déployer votre application sur plusieurs écrans qui acceptent des dimensions personnalisables, et peuvent vous aider à tester des applications compatibles avec le mode multifenêtre et le mode multi-écran. Lorsqu'un appareil virtuel est en cours d'exécution, vous pouvez ajouter jusqu'à deux écrans supplémentaires comme suit :

  1. Ouvrez la fenêtre Extended controls (Commandes avancées), puis accédez à l'onglet Displays (Écrans).

  2. Ajoutez un autre écran en cliquant sur Add secondary display (Ajouter un écran secondaire).

  3. Dans le menu déroulant sous Secondary displays (Écrans secondaires), effectuez l'une des opérations suivantes :

  4. Sélectionnez l'un des formats prédéfinis.

  5. Sélectionnez custom (personnalisé), puis définissez les valeurs height (hauteur), width (largeur) et dpi pour votre affichage personnalisé.

  6. (Facultatif) Cliquez sur Add secondary display (Ajouter un écran secondaire) pour en ajouter un troisième.

  7. Cliquez sur Apply changes (Appliquer les modifications) pour ajouter les écrans spécifiés à l'appareil virtuel en cours d'exécution.

Ajouter plusieurs écrans avec l'onglet "Display" (Écran) de la fenêtre "Extended Controls" (Commandes avancées) de l'émulateur.

Nouveaux appareils virtuels et modèles de projet pour Android Automotive OS

Lorsque vous créez un projet à l'aide d'Android Studio, vous pouvez désormais choisir parmi trois modèles dans l'onglet Automotive de l'assistant Create New Project (Créer un projet) : No Activity (Aucune activité), Media service (Service multimédia) et Messaging service (Service de messagerie instantanée). Pour les projets existants, vous pouvez rendre vos appareils Android Automotive compatibles en sélectionnant File > New > New Module (Fichier > Nouveau > Nouveau module) dans la barre de menu, puis en sélectionnant Automotive Module (Module Automotive). L'assistant Create New Module (Créer un module) vous guide ensuite dans le processus de création d'un module à l'aide de l'un des modèles de projet d'Android Automotive.

Sélection d'un modèle de projet Android Automotive..

En outre, vous pouvez maintenant créer un appareil virtuel Android (AVD) pour les appareils Android Automotive OS en sélectionnant l'une des options suivantes dans l'onglet Automotive de l'assistant Virtual Device Configuration (Configuration de l'appareil virtuel).

  1. Polestar 2 : créez un AVD qui émule l'unité principale Polestar 2.
  2. Automotive (paysage 1024p) : créez un AVD pour les unités principales 1 024 x 768 px génériques d'Android Automotive.

Sélection d'un appareil virtuel Android Automotive..

Téléchargements de SDK avec reprise

Lorsque vous téléchargez des composants et des outils du SDK à l'aide de SDK Manager, Android Studio vous permet à présent de reprendre les téléchargements qui ont été interrompus (en raison d'un problème réseau, par exemple) au lieu de les recommencer depuis le début. Cette amélioration est particulièrement utile pour les téléchargements volumineux, comme Android Emulator ou les images système, lorsque la connexion Internet n'est pas fiable.

De plus, si une tâche de téléchargement du SDK s'exécute en arrière-plan, vous pouvez maintenant suspendre ou reprendre le téléchargement à l'aide des commandes de la barre d'état.

Tâche de téléchargement en arrière-plan dans la barre d'état avec de nouvelles commandes qui vous permettent de suspendre ou de reprendre le téléchargement.

Tâche de téléchargement en arrière-plan dans la barre d'état avec de nouvelles commandes qui vous permettent de suspendre ou de reprendre le téléchargement.

Win32 obsolète

La version Windows 32 bits d'Android Studio ne recevra plus de mises à jour après décembre 2019 et ne sera plus prise en charge après décembre 2020. Vous pouvez continuer à utiliser Android Studio. Toutefois, pour recevoir des mises à jour supplémentaires, mettez à niveau votre station de travail vers une version 64 bits de Windows.

Pour en savoir plus, consultez le blog sur la fin de la prise en charge de Windows 32 bits.

Nouvelle option permettant d'optimiser le temps de synchronisation Gradle

Dans les versions précédentes, Android Studio récupérait la liste de toutes les tâches Gradle pendant la synchronisation Gradle. Pour les projets volumineux, la récupération de la liste de tâches pouvait ralentir les synchronisations.

Pour améliorer les performances de la synchronisation Gradle, accédez à File > Settings > Experimental (Fichier > Paramètres > Expérimental), puis sélectionnez "Ne pas créer la liste de tâches Gradle pendant la synchronisation Gradle".

Lorsque vous activez cette option, Android Studio ignore la compilation de la liste des tâches lors de la synchronisation, ce qui permet à la synchronisation Gradle de se terminer plus rapidement et améliore la réactivité de l'interface utilisateur. N'oubliez pas que, lorsque l'IDE ignore la compilation de la liste des tâches, les listes de tâches du panneau Gradle sont vides et la saisie semi-automatique du nom de la tâche dans les fichiers de compilation ne fonctionne pas.

Nouvel emplacement pour activer/désactiver le mode hors connexion de Gradle

Pour activer ou désactiver le mode hors connexion de Gradle, sélectionnez d'abord View > Tool Windows > Gradle (Vue > Fenêtres d'outils > Gradle) dans la barre de menu. Ensuite, en haut de la fenêtre Gradle, cliquez sur Toggle Offline Mode (Activer/Désactiver le mode hors connexion) Bouton du mode hors connexion de Gradle dans le panneau "Gradle"..

IntelliJ IDEA 2019.2

L'IDE principal d'Android Studio a été mis à jour avec les améliorations d'IntelliJ IDEA via la version 2019.2.

Pour en savoir plus sur les améliorations des autres versions d'IntelliJ incluses cumulativement avec la version 2019.2, consultez les pages suivantes :

Contributeurs de la communauté

Merci à tous les contributeurs de notre communauté qui nous ont permis de découvrir des bugs et d'autres moyens d'améliorer Android Studio 3.6. Nous tenons tout particulièrement à remercier les personnes suivantes qui ont signalé des bugs :

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers