Android Studio 4.1 (août 2020)

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

4.1.3 (mars 2021)

Cette mise à jour mineure inclut 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.

4.1.2 (janvier 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

Nouvel outil d'inspection de bases de données

Inspectez, interrogez et modifiez vos bases de données dans votre application en cours d'exécution à l'aide du nouvel outil d'inspection de bases de données. Pour commencer, déployez votre application sur un appareil exécutant le niveau d'API 26 ou supérieur, puis sélectionnez View > Tool Windows > Database Inspector (Vue > Fenêtres d'outils > Outil d'inspection de bases de données) dans la barre de menu.

Pour en savoir plus, consultez Déboguer votre base de données avec l'outil d'inspection de bases de données.

Exécuter Android Emulator directement dans Android Studio

Vous pouvez maintenant exécuter Android Emulator directement dans Android Studio. Utilisez cette fonctionnalité pour conserver l'espace sur l'écran, naviguer rapidement entre l'émulateur et la fenêtre de l'éditeur à l'aide de raccourcis clavier, et pour organiser le workflow de l'IDE et de l'émulateur dans une seule fenêtre d'application.

L&#39;émulateur s&#39;ouvre dans une fenêtre d&#39;outil dans Android Studio.

Pour en savoir plus, consultez la documentation d'Android Emulator.

Utiliser des modèles TensorFlow Lite

La liaison de modèles de ML vous permet d'importer directement et facilement des fichiers de modèle .tflite et de les utiliser dans vos projets. Android Studio génère des classes faciles à utiliser afin que vous puissiez exécuter votre modèle avec moins de code et une meilleure sécurité des types.

Modèles compatibles

L'implémentation actuelle de la liaison de modèles de ML est compatible avec les modèles de classification d'images et de transfert de style, à condition qu'ils soient améliorés avec des métadonnées. Au fil du temps, la prise en charge sera étendue à d'autres domaines problématiques, tels que la détection d'objets, la segmentation d'images et la classification de texte.

Une large gamme de modèles pré-entraînés avec des métadonnées est fournie sur TensorFlow Hub. Vous pouvez également ajouter vous-même des métadonnées à un modèle TensorFlow Lite, comme indiqué dans la section Ajouter des métadonnées à un modèle TensorFlow Lite.

Importer un fichier de modèle

Pour importer un fichier de modèle compatible, procédez comme suit :

  1. Ouvrez la boîte de dialogue d'importation de modèles TensorFlow Lite dans le menu Fichier dans File > New > Other > TensorFlow Lite Model (Fichier > Nouveau > Autre > Modèle TensorFlow Lite).
  2. Sélectionnez le fichier de modèle .tflite que vous avez téléchargé ou créé précédemment.
  3. Cliquez sur Finish (Terminer).

Le fichier de modèle est alors importé dans votre projet et placé dans le dossier ml/. Si le répertoire n'existe pas, Android Studio le crée pour vous.

Importer un modèle TensorFlow Lite

Afficher les métadonnées et l'utilisation du modèle

Pour afficher les détails d'un modèle importé et obtenir des instructions sur son utilisation dans votre application, double-cliquez sur le fichier de modèle de votre projet afin d'ouvrir la page de la visionneuse de modèles, qui affiche les éléments suivants :

  • Modèle : description générale du modèle
  • Tensors : description des Tensors d'entrée et de sortie
  • Exemple de code : exemple d'interface avec le modèle dans votre application

Voici un exemple utilisant mobilenet_v1_0.25_160_quantized.tflite :

Comme le montre l'exemple, Android Studio crée une classe appelée MobilenetV1025160Quantized pour interagir avec le modèle.

Si le modèle ne comporte pas de métadonnées, cet écran ne fournit que des informations minimales.

Problèmes connus et solutions

  • La prise en charge des modèles TensorFlow Lite pour les domaines problématiques autres que la classification d'images et le transfert de style est actuellement limitée. Même si l'importation devrait fonctionner correctement, certaines entrées et/ou sorties de modèles sont représentées par des TensorBuffers plutôt que des types conviviaux. Pour les modèles sans métadonnées, toutes les entrées et sorties du modèle sont des TensorBuffers.
  • Les modèles dont les types de données d'entrée et de sortie sont différents de DataType.UINT8 ou DataType.FLOAT32 ne sont pas acceptés.

Cette fonctionnalité est en cours de développement. Veuillez donc envoyer des commentaires ou signaler des bugs.

Profileur de mémoire native

Le Profileur de mémoire d'Android Studio inclut à présent un profileur de mémoire natif pour les applications déployées sur des appareils physiques exécutant Android 10 ou version ultérieure. Avec le Profileur de mémoire natif, vous pouvez enregistrer les allocations et désallocations de mémoire à partir du code natif et inspecter les statistiques cumulées sur les objets natifs.

Enregistrement dans le Profileur de mémoire natif

Pour en savoir plus sur le format natif du Profileur de mémoire, consultez Inspecter l'utilisation de mémoire de votre application avec le Profileur de mémoire.

Problèmes connus et solutions

Le Profileur de mémoire natif dans Android Studio 4.1 ne fonctionne pas pour les appareils Android 11. La prise en charge du profilage des appareils Android 11 est actuellement disponible dans la version preview 4.2.

À partir de la version 4.1 initiale, le profilage de démarrage d'application a été désactivé. Il sera activé dans une prochaine version.

Pour contourner ce problème, vous pouvez utiliser le les lignes de commande du profileur autonome de Perfetto pour capturer des profils de démarrage.

UI de trace système : sélection plus facile, nouvel onglet d'analyse et plus de données de rendu d'image

L'UI de trace système dans le profileur Android Studio inclut les améliorations suivantes :

  • Sélection de zone : dans la section Threads, vous pouvez à présent faire glisser la souris pour sélectionner une zone rectangulaire sur laquelle vous pouvez zoomer en cliquant sur le bouton Zoom to Selection (Zoomer sur la sélection) Bouton de zoom sur la sélection dans le profileur en haut à droite (ou utilisez le raccourci clavier M). Lorsque vous glissez-déposez des threads similaires les uns à côté des autres, vous pouvez sélectionner plusieurs threads pour les inspecter tous en même temps. Par exemple, vous pouvez effectuer une analyse sur plusieurs threads de calcul.

  • Onglet "Summary" (Résumé) : le nouvel onglet Summary (Résumé) du panneau Analysis (Analyse) affiche ce qui suit :

    • Statistiques agrégées pour toutes les occurrences d'un événement spécifique, telles que le nombre d'occurrences et la durée minimale/maximale.

    • Statistiques d'événement de trace pour l'occurrence sélectionnée.

    • Données sur la distribution de l'état du thread.

    • Occurrences les plus longues de l'événement de trace sélectionné.

    Pour accéder à une autre occurrence, sélectionnez une autre ligne du tableau.

  • Données dans Affichage : dans la section Display (Affichage), les nouvelles chronologies pour SurfaceFlinger et VSYNC vous aident à résoudre les problèmes d'affichage dans l'interface utilisateur de votre application.

Pour obtenir des instructions d'utilisation de base sur la manière d'enregistrer une trace système, consultez la section Enregistrer les traces de Inspecter l'activité du processeur avec le Profileur de processeur.

Profileurs autonomes à présent disponibles

Grâce aux nouveaux profileurs autonomes, vous pouvez maintenant profiler votre application sans exécuter l'IDE Android Studio complet.

Pour obtenir des instructions sur l'utilisation des profileurs autonomes, consultez Exécuter des profileurs autonomes.

Prise en charge de la navigation Dagger

Actions de marge de l&#39;IDE pour accéder aux consommateurs et aux fournisseurs Dagger

Android Studio facilite la navigation entre votre code lié à Dagger en fournissant de nouvelles actions de marge et en étendant la compatibilité dans la fenêtre Find Usages (Trouver des utilisations).

  • Nouvelles actions de marge : pour les projets qui utilisent Dagger, l'IDE fournit des actions de marge qui vous aident à naviguer entre votre code annoté par Dagger. Par exemple, si vous cliquez sur l'action de marge à côté d'une méthode qui utilise un type donné, vous accédez au fournisseur de ce type. À l'inverse, le fait de cliquer sur l'action de marge vous permet d'accéder à l'emplacement d'un type utilisé comme dépendance.

  • Trouver les utilisations : lorsque vous appelez Find Usages (Trouver des utilisations) au niveau d'un fournisseur d'un type donné, la fenêtre Find (Trouver) inclut maintenant un nœud Dependency consumer(s) (Consommateur(s) de dépendance) qui présente les consommateurs de ce type. À l'inverse, lorsque vous appelez cette action sur un consommateur d'une dépendance injectée par Dagger, la fenêtre Find (Trouver) indique le fournisseur de cette dépendance.

Composants Material Design : thèmes et styles mis à jour dans les nouveaux modèles de projet

Animation : création d&#39;un projet dans Android Studio avec de nouvelles propriétés Material Design

Les modèles Android Studio de la boîte de dialogue Créer un projet utilisent à présent des Composants Material Design (MDC) et sont conformes aux consignes mises à jour par défaut pour les thèmes et les styles. Les mises à jour suivantes ont été réalisées :

  • MDC: les projets dépendent de com.google.android.material:material dans build.gradle. Les thèmes d'application de base utilisent des parents Theme.MaterialComponents.* et ignorent la couleur MDC mise à jour et les attributs "on".

  • Ressources de couleur : les ressources de couleur dans colors.xml utilisent des noms littéraux (par exemple, purple_500 au lieu de colorPrimary).

  • Ressources de thème : les ressources de thème se trouvent dans themes.xml (au lieu de styles.xml) et utilisent des noms Theme.<var><var>.

  • Thème sombre : les thèmes d'application de base utilisent des parents DayNight et sont répartis entre res/values et res/values-night.

  • Attributs de thème : les ressources de couleur sont référencées en tant qu'attributs de thème (par exemple, ?attr/colorPrimary) dans les mises en page et les styles afin d'éviter les couleurs codées en dur.

IntelliJ IDEA 2020.1

L'IDE principal d'Android Studio a été mis à jour avec des améliorations d'IntelliJ IDEA jusqu'à la version 2020.1, y compris une nouvelle fenêtre Commit (Valider) qui permet les opérations de contrôle des versions et un nouveau mode Zen pouvant être activé/désactivé en sélectionnant View > Appearance > Enter Distraction Free Mode (Vue > Apparence > Entrer en mode sans distraction).

Pour en savoir plus sur les améliorations apportées dans la version 2020.1, consultez IDEA 2020.1.

Modifications du répertoire de configuration de l'IDE

Les emplacements des répertoires de configuration utilisateur ont été modifiés comme suit :

Windows

Syntaxe : %APPDATA%\Google&lt;product><version>

Exemple : C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Syntaxe : ~/Library/Application Support/Google/<product><version>

Exemple : ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Syntaxe : ~/.config/Google/<product><version>

Exemple : ~/.config/Google/AndroidStudio4.1

Ces nouveaux emplacements de répertoire sont conformes aux mises à jour récentes d'IntelliJ IDEA, l'IDE sur lequel est basé Android Studio.

Si Studio ne redémarre pas après une mise à niveau, vous devrez peut-être supprimer le répertoire de configuration d'une version précédente de Studio. Pour en savoir plus, consultez la page Problèmes connus.

Kotlin 1.3.72

Android Studio 4.1 inclut Kotlin 1.3.72, qui comprend un certain nombre de correctifs permettant d'améliorer la mise en surbrillance, les inspections et la saisie automatique de code de Kotlin. Pour en savoir plus, consultez le journal des modifications de Kotlin 1.3.72.

Aperçu de la vue personnalisée

Lors de la création d'une vue personnalisée (par exemple, en étendant la classe View ou Button), Android Studio affiche maintenant un aperçu de votre vue personnalisée. Utilisez le menu déroulant de la barre d'outils pour basculer entre plusieurs vues personnalisées, ou cliquez sur les boutons pour encapsuler le contenu verticalement ou horizontalement.

Aperçu des vues personnalisées dans l&#39;IDE

Remarque : Si vos modifications ne s'affichent pas dans l'aperçu, sélectionnez Build > Make Project (Compilation > Créer un projet) dans la barre de menu.

Décodage des rapports d'erreur natifs

Lorsqu'un plantage ou une erreur ANR se produit dans le code natif, le système génère une trace de la pile, qui est un instantané de la séquence de fonctions imbriquées appelées dans votre programme jusqu'au moment du plantage. Ces instantanés peuvent vous aider à identifier et à résoudre les problèmes dans la source. Toutefois, ils doivent d'abord être décodés pour traduire les adresses des machines en noms de fonctions lisibles.

Si votre application ou votre jeu sont développés en code natif (en C++ par exemple), vous pouvez à présent importer des fichiers de décodage dans Play Console pour chaque version de votre application. Play Console utilise ces fichiers de décodage pour décoder les traces de la pile de votre application, et ainsi faciliter l'analyse des plantages et des erreurs ANR. Pour savoir comment importer des fichiers de décodage, consultez la section Prise en charge des plantages natifs.

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 Preview développeur 3 ou version ultérieure :

Déploiement plus rapide

Nous avons beaucoup investi pour optimiser la vitesse d'itération en développant une méthode pour déployer et conserver les modifications sur un appareil sans installer l'application. Après un premier déploiement, les déploiements suivants effectués sur des appareils Android 11 à l'aide de l'option 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&#39;activité) sont maintenant beaucoup plus rapides.

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

Prise en charge d'autres modifications du code

Pour les appareils équipés d'Android 11 Preview développeur 3 ou version ultérieure, vous pouvez à présent ajouter des méthodes, 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&#39;activité).