Android Studio 3.0 (octobre 2017)

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

Utilisateurs de macOS : si vous mettez à jour une ancienne version d'Android Studio, une boîte de dialogue d'erreur de mise à jour peut s'afficher avec le message "Des conflits ont été détectés dans la zone d'installation". Il vous suffit d'ignorer cette erreur et de cliquer sur Cancel (Annuler) pour reprendre l'installation.

3.0.1 (novembre 2017)

Cette mise à jour mineure d'Android Studio 3.0 inclut des corrections de bugs générales et des améliorations des performances.

Plug-in Android pour Gradle 3.0.0

Le nouveau plug-in Android pour Gradle comprend diverses améliorations et des nouvelles fonctionnalités, mais il améliore principalement les performances de compilation des projets comportant un grand nombre de modules. Lorsque vous utilisez le nouveau plug-in avec ces projets de grande envergure, vous devriez constater ce qui suit :

  • Configuration de compilation plus rapide grâce à la nouvelle résolution des dépendances retardées.
  • Résolution des dépendances basée sur les variantes uniquement pour les projets et les variantes que vous compilez.
  • Durées de compilation incrémentielles plus courtes lors de l'application de modifications simples au code ou aux ressources.

Remarque : Ces améliorations nécessitaient des modifications importantes perturbant certains comportements, DSL et API du plug-in. La mise à niveau vers la version 3.0.0 peut nécessiter des modifications de vos fichiers de compilation et de vos plug-ins Gradle.

Cette version inclut également ce qui suit :

  • Prise en charge d'Android 8.0.
  • Prise en charge de la compilation d'APK distincts en fonction des ressources linguistiques.
  • Prise en charge des bibliothèques Java 8 et des fonctionnalités du langage Java 8 (sans le compilateur Jack).
  • Prise en charge d'Android Test Support Library 1.0 (Android Test Utility et Android Test Orchestrator).
  • Amélioration de la vitesse de compilation de ndk-build et cmake.
  • Amélioration de la vitesse de synchronisation de Gradle.
  • AAPT2 est désormais activé par défaut.
  • L'utilisation de ndkCompile est maintenant plus limitée. À la place, vous devez utiliser CMake ou ndk-build pour compiler le code natif que vous souhaitez empaqueter dans votre APK. Pour en savoir plus, consultez Migrer depuis ndkcompile.

Pour en savoir plus sur les modifications apportées, consultez les notes de version du plug-in Android pour Gradle.

Si vous êtes prêt à passer au nouveau plug-in, consultez Migrer vers le plug-in Android pour Gradle 3.0.0.

Prise en charge de Kotlin

Comme annoncé lors de la conférence Google I/O 2017, le langage de programmation Kotlin est à présent officiellement pris en charge sur Android. Dans cette version, Android Studio prend donc en charge le langage Kotlin pour le développement Android.

Vous pouvez intégrer Kotlin à votre projet en convertissant un fichier Java en Kotlin (cliquez sur Code > Convert Java File to Kotlin File (Code > Convertir un fichier Java en fichier Kotlin) ou en créant un projet compatible avec Kotlin à l'aide de l'assistant New Project (Nouveau projet).

Pour commencer, découvrez comment ajouter Kotlin à votre projet.

Prise en charge des fonctionnalités du langage Java 8

Vous pouvez à présent utiliser certaines fonctionnalités du langage Java 8, ainsi que les bibliothèques compilées avec Java 8. Jack n'est plus obligatoire. Vous devez d'abord désactiver Jack pour utiliser la prise en charge améliorée de Java 8 intégrée à la chaîne d'outils par défaut.

Pour mettre à jour votre projet afin qu'il prenne en charge la nouvelle chaîne d'outils du langage Java 8, mettez à jour la compatibilité source dans Source Compatibility et la compatibilité cible dans Target Compatibility sur 1.8 dans la boîte de dialogue Project Structure (Structure du projet) cliquez sur File > Project Structure (Fichier > Structure du projet). Pour en savoir plus, découvrez comment utiliser les fonctionnalités du langage Java 8.

Profileur Android

Le nouveau Profileur Android remplace l'outil Android Monitor et fournit une nouvelle suite d'outils permettant de mesurer en temps réel l'utilisation du processeur, de la mémoire et du réseau par votre application. Vous pouvez effectuer un traçage de méthode basé sur des exemples pour chronométrer l'exécution de votre code, capturer des empreintes de mémoire, afficher les allocations de mémoire et inspecter les informations des fichiers transmis par le réseau.

Pour ouvrir le Profileur Android, cliquez sur View > Tool Windows > Android Profiler (Vue > Fenêtres d'outil > Profileur Android) ou cliquez sur Android Profiler (Profileur Android) dans la barre d'outils.

La chronologie des événements en haut de la fenêtre affiche les événements tactiles, les pressions sur les touches et les modifications d'activité. Vous disposez ainsi de plus de contexte pour comprendre les autres événements de performances dans la chronologie.

Remarque : La vue Logcat a également été déplacée vers une autre fenêtre (elle se trouvait précédemment dans l'outil Android Monitor, qui a été supprimé).

Dans la chronologie de présentation du Profileur Android, cliquez sur les chronologies CPU (PROCESSEUR), MEMORY (MÉMOIRE) ou NETWORK (RÉSEAU) pour accéder aux outils correspondants du profileur.

Profileur de processeur

Le Profileur de processeur vous permet d'analyser l'utilisation des threads de processeur de votre application en déclenchant un échantillon ou une trace de processeur instrumentée. Vous pouvez ensuite résoudre les problèmes de performances du processeur à l'aide de divers filtres et affichages de données.

Pour en savoir plus, consultez le guide du Profileur de processeur.

Profileur de mémoire

Le Profileur de mémoire vous aide à identifier la saturation et les fuites de mémoire qui peuvent entraîner des problèmes de stuttering, des blocages, voire des plantages de l'application. Il affiche un graphique en temps réel de l'utilisation de la mémoire de votre application, vous permet de capturer une empreinte de la mémoire, de forcer la récupération de mémoire et de suivre les allocations de mémoire.

Pour en savoir plus, consultez le guide du Profileur de mémoire.

Profileur de réseau

Le Profileur de réseau vous permet de surveiller l'activité réseau de votre application, d'inspecter la charge utile de chacune de vos requêtes réseau et de créer un lien vers le code qui a généré la requête réseau.

Pour en savoir plus, consultez le guide du Profileur de réseau.

Profilage et débogage APK

Android Studio vous permet à présent de profiler et déboguer n'importe quel APK sans avoir à le compiler à partir d'un projet Android Studio, à condition qu'il soit conçu pour activer le débogage, et que vous ayez accès aux symboles de débogage et aux fichiers sources.

Pour commencer, cliquez sur Profiler ou déboguer l'APK sur l'écran d'accueil d'Android Studio. Si un projet est déjà ouvert, cliquez sur File > Profile or debug APK (Fichier > Profiler ou déboguer l'APK) dans la barre de menu. Les fichiers APK non empaquetés s'affichent, mais le code n'est pas décompilé. Ainsi, pour ajouter correctement des points d'arrêt et afficher des traces de pile, vous devez joindre des fichiers sources Java et des symboles de débogage natifs.

Pour en savoir plus, consultez Profiler et déboguer des APK prédéfinis.

Explorateur de fichiers de l'appareil

Le nouvel Explorateur de fichiers de l'appareil vous permet d'inspecter le système de fichiers de votre appareil connecté, et de transférer des fichiers entre l'appareil et votre ordinateur. Il remplace l'outil de système de fichiers disponible dans DDMS.

Pour l'ouvrir, cliquez sur View > Tool Windows > Device File Explorer (Vue > Fenêtres d'outil > Explorateur de fichiers de l'appareil).

Pour en savoir plus, consultez le guide de l'Explorateur de fichiers de l'appareil.

Prise en charge des applis instantanées

La prise en charge des applis instantanées Android vous permet de créer des applis instantanées dans votre projet à l'aide de deux nouveaux types de module : les modules d'applis instantanées et les modules de fonctionnalités (pour lesquels vous devez installer le SDK de développement d'applis instantanées).

Android Studio inclut également une nouvelle action de modularisation de la refactorisation pour vous aider à ajouter la prise en charge des applis instantanées à un projet existant. Par exemple, si vous souhaitez refactoriser votre projet pour placer certaines classes dans un module de fonctionnalité d'appli instantanée, sélectionnez les classes dans la fenêtre Project (Projet), puis cliquez sur Refactor > Modularize (Refactoriser > Modulariser). Dans la boîte de dialogue qui s'affiche, sélectionnez le module de destination, puis cliquez sur OK.

Lorsque vous êtes prêt à tester votre appli instantanée, vous pouvez compiler et exécuter votre module Appli instantanée sur un appareil connecté. Pour ce faire, spécifiez l'URL de l'appli instantanée dans les options de lancement de configuration d'exécution : sélectionnez Run > Edit Configurations (Exécuter > Modifier les configurations), sélectionnez votre module Appli instantanée, puis définissez l'URL sous Launch Options (Options de lancement).

Pour en savoir plus, consultez Applis instantanées Android.

Modules Android Things

Nouveaux modèles Android Things dans les assistants "Nouveau projet" et "Nouveau module" pour vous aider à commencer à développer pour les appareils IoT sous Android.

Pour en savoir plus, découvrez comment créer un projet Android Things.

Assistant Icônes adaptatives

Image Asset Studio prend désormais en charge les drawables vectoriels et vous permet de créer des icônes de lanceur adaptatives pour Android 8.0 tout en créant simultanément des icônes traditionnelles pour les appareils plus anciens.

Pour commencer, effectuez un clic droit sur le dossier res dans votre projet, puis cliquez sur New > Image Asset (Nouveau > Composant Image). Dans la fenêtre Asset Studio, sélectionnez Launcher Icons (Adaptive and Legacy) (Icônes de lanceur (adaptatives et anciennes)) comme type d'icône.

Remarque : Vous devez définir compileSdkVersion sur 26 ou plus pour utiliser les icônes de lanceur adaptatives.

Pour en savoir plus, consultez Icônes adaptatives.

Prise en charge des ressources de police

Pour prendre en charge les nouvelles ressources de police dans Android 8.0, Android Studio comprend un sélecteur de ressources de police pour faciliter le regroupement des polices dans votre application ou configurer votre projet de manière à télécharger les polices sur l'appareil (lorsqu'elles sont disponibles). L'éditeur de mise en page peut également prévisualiser les polices dans votre mise en page.

Pour tester les polices téléchargeables, assurez-vous que votre appareil ou votre émulateur exécute les services Google Play v11.2.63 ou version ultérieure. Pour en savoir plus, consultez Polices téléchargeables.

Assistant Firebase App Indexing

Firebase Assistant a été mis à jour avec un nouveau tutoriel pour tester l'indexation des applications. Pour ouvrir l'assistant, sélectionnez Tools > Firebase (Outils > Firebase). Sélectionnez ensuite App Indexing > Test App Indexing (Indexation des applications > Tester l'indexation des applications).

Le tutoriel comprend de nouveaux boutons permettant de tester l'indexation de votre contenu public et personnel :

  • À l'étape 2, cliquez sur Preview search results (Prévisualiser les résultats de recherche) pour vérifier que vos URL apparaissent bien dans les résultats de recherche Google.
  • À l'étape 3, cliquez sur Check for errors (Rechercher les erreurs) pour vérifier que les objets indexables de votre application ont été ajoutés à l'index de contenu personnel.

L'assistant Android App Links a été mis à jour et offre désormais les fonctionnalités suivantes :

  • Add URL tests (Ajouter des tests d'URL) pour chaque mappage d'URL afin de vous assurer que vos filtres d'intent gèrent des URL réelles.

    Vous pouvez également définir ces tests d'URL manuellement à l'aide de la balise <tools:validation> décrite ci-dessous.

  • Create a Digital Asset Links file (Créer un fichier Digital Asset Links) avec l'entrée d'objet appropriée pour prendre en charge Google Smart Lock et ajouter la balise asset_statements <meta-data> correspondante à votre fichier manifeste.

Programme de validation des filtres d'intent d'URL

Android Studio prend désormais en charge une balise spéciale dans le fichier manifeste qui vous permet de tester vos URL de filtre d'intent. Il s'agit des mêmes balises que celles que l'assistant Android App Links peut créer pour vous.

Pour déclarer une URL de test pour un filtre d'intent, ajoutez un élément <tools:validation> à côté de l'élément <intent-filter> correspondant. Par exemple :

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

Veillez également à inclure xmlns:tools="http://schemas.android.com/tools" dans la balise <manifest>.

Si l'une des URL de test ne transmet pas la définition du filtre d'intent, une erreur lint est affichée. Une telle erreur vous permet toujours de compiler des variantes de débogage, mais elle perturbera vos builds.

Éditeur de mise en page

L'éditeur de mise en page a été mis à jour avec un certain nombre d'améliorations, y compris les suivantes :

  • Nouvelles icônes et nouvelle mise en page pour la barre d'outils.
  • Mise à jour de la mise en page dans l'arborescence des composants.
  • Amélioration des insertions de la vue par glisser-déposer.
  • Nouveau panneau d'erreur sous l'éditeur affichant tous les problèmes avec des suggestions de corrections (le cas échéant).
  • Diverses améliorations de l'interface utilisateur pour la compilation avec ConstraintLayout, y compris les suivantes :
    • Prise en charge de la création de barrières.
    • Prise en charge de la création de groupes : dans la barre d'outils, sélectionnez Guidelines > Add Group (Consignes > Ajouter un groupe) (nécessite ConstraintLayout 1.1.0 bêta 2 ou version ultérieure).
    • Nouvelle UI pour créer des chaînes : sélectionnez plusieurs vues, puis effectuez un clic droit et sélectionnez Chain (Chaîne).

Outil d'inspection de la mise en page

L'outil d'inspection de la mise en page inclut des améliorations qui facilitent le débogage des problèmes avec les mises en page de votre application, y compris le regroupement des propriétés dans des catégories communes, et une nouvelle fonctionnalité de recherche dans les volets View Tree (Arborescence de vues) et Properties (Propriétés).

Analyseur d'APK

Vous pouvez à présent utiliser l'analyseur d'APK à partir de la ligne de commande avec l'outil apkanalyzer.

L'analyseur d'APK a également été mis à jour avec les améliorations suivantes :

  • Pour les APK compilés avec ProGuard, vous pouvez charger des fichiers de mappage ProGuard qui ajoutent des fonctionnalités à la visionneuse DEX, y compris :
    • Des nœuds en gras pour indiquer que les nœuds ne doivent pas être supprimés lors de la minification du code.
    • Un bouton pour afficher les nœuds supprimés pendant le processus de minification.
    • Un bouton qui restaure les noms d'origine des nœuds dans l'arborescence que ProGuard a obscurcis.
  • La visionneuse DEX affiche à présent l'impact estimé de la taille de chaque package, classe et méthode.
  • De nouvelles options de filtrage en haut pour afficher et masquer des champs et des méthodes.
  • Dans l'arborescence, les nœuds qui sont des références non définies dans le fichier DEX apparaissent en italique.

Pour en savoir plus, consultez Analyser votre build avec l'analyseur d'APK.

Aperçu du compilateur DEX D8

Android Studio 3.0 inclut un nouveau compilateur DEX facultatif, appelé D8. Il remplacera à terme le compilateur DX, mais vous pouvez choisir d'utiliser le nouveau compilateur D8 dès maintenant.

La compilation DEX a une incidence directe sur la durée de compilation de votre application, la taille de fichier .dex et les performances d'exécution. Par ailleurs, lorsque vous comparez le nouveau compilateur D8 au compilateur DX actuel, D8 compile plus rapidement et génère des fichiers .dex plus petits, tout en ayant des performances d'exécution d'application identiques ou supérieures.

Pour l'essayer, définissez les éléments suivants dans le fichier gradle.properties de votre projet :

android.enableD8=true
    

Pour en savoir plus, consultez l'article de blog sur le compilateur D8.

Dépôt Maven de Google

Désormais, Android Studio utilise le dépôt Maven de Google par défaut au lieu de dépendre d'Android SDK Manager pour obtenir des mises à jour pour la bibliothèque Android Support, les services Google Play, Firebase et d'autres dépendances. Cela permet de garder plus facilement vos bibliothèques à jour, en particulier lorsque vous utilisez un système d'intégration continue (CI).

Tous les nouveaux projets incluent à présent le dépôt Maven de Google par défaut. Pour mettre à jour votre projet existant, ajoutez google() dans le bloc repositories du fichier build.gradle de premier niveau :

      allprojects {
          repositories {
              google()
          }
      }
    
    

Pour en savoir plus sur le dépôt Maven de Google, cliquez ici.

Autres modifications

  • Le débogage natif avec Android Studio ne prend plus en charge Windows 32 bits. Nous avons choisi de nous concentrer sur d'autres plates-formes, car très peu de développeurs utilisent cette plate-forme. Si vous utilisez Windows 32 bits et que vous prévoyez de déboguer du code natif, vous devez continuer à utiliser Android Studio 2.3.
  • Mise à niveau de l'IDE de base vers IntelliJ 2017.1.2, qui ajoute un certain nombre de nouvelles fonctionnalités des versions 2016.3 et 2017.1., tels que la refactorisation du langage Java 8, les optimisations de paramètres, la mise en surbrillance sémantique, les points d'arrêt déplaçables, les résultats instantanés dans la recherche, etc.
  • Ajout d'un grand nombre de nouvelles vérifications lint.
  • Consultez également les dernières mises à jour d'Android Emulator.