Le gestionnaire de périphériques virtuels Android

Le gestionnaire de périphériques virtuels Android est utilisé pour créer et gérer les périphériques matériels virtuels qui hébergeront des instances de l'émulateur.Les DAV sont utilisés pour simuler les configurations matérielles de différents périphériques physiques. Cela vous permet de tester votre application sur diverses plates-formes matérielles sans avoir à acheter plusieurs téléphones. REMARQUE Le SDK Android n’inclut pas de périphériques virtuels préconfigurés. Vous devez donc créer au moins un périphérique avant de pouvoir exécuter vos applications dans un émulateur. Chaque périphérique virtuel est configuré avec un nom, un type de périphérique physique, une image système Android, la taille et la résolution de l'écran, les capacités ABI / CPU, de mémoire et de stockage, ainsi que des fonctionnalités matérielles, notamment les vitesses de la caméra et du réseau.Différents paramètres matériels et résolutions d'écran présenteront d'autres skins d'interface utilisateur pour représenter les différentes configurations matérielles. Cela simule une variété de types de périphériques, y compris différents téléphones et tablettes, ainsi que des téléviseurs et des appareils Android Wear.

L'émulateur Android

L'émulateur s'exécute dans un fichier AVD et est disponible pour le test et le débogage de vos applications au lieu d'utiliser un périphérique physique.L'émulateur est une implémentation d'Android Run Time, ce qui en fait une plate-forme valide pour l'exécution d'applications Android comme n'importe quel téléphone Android. Découplé de tout matériel, il constitue une excellente base de référence pour tester vos applications.Une connectivité réseau complète est fournie avec la possibilité de modifier la vitesse de connexion Internet et la latence tout en déboguant vos applications. Vous pouvez également simuler le placement et la réception d'appels vocaux et de SMS. Android Studio intègre l’émulateur pour qu’il soit lancé automatiquement dans l’AVD sélectionné lors de l’exécution ou du débogage de vos projets.     

émulateur Android                        
Une fois lancé, vous pouvez utiliser la barre d’outils illustrée à la Figure 2-23 pour émuler en appuyant sur les boutons d’alimentation et de volume du matériel, les boutons Accueil, Précédent et Récents du logiciel, faire pivoter l’affichage ou prendre des captures d’écran. En appuyant sur le bouton “…”, vous ouvrez les contrôles étendus qui vous permettent de:

Définir la position GPS actuelle et simulez la lecture d'une piste GPS.
Modifier la connectivité du réseau cellulaire simulé, y compris la force du signal, la vitesse et le type de connexion de données.
Définir l'état de la batterie, son niveau et l'état de charge.
Simuler les appels téléphoniques et les SMS entrants.
Simuler le capteur d'empreinte digitale.
Fournir des données de capteur fictives, notamment les résultats relatifs à l'accéléromètre, à la température ambiante et au capteur de champ magnétique.

 

Android Profiler

L’émulateur vous permet de voir l’apparence, le comportement et l’interaction de votre application, mais pour voir ce qui se passe sous la surface, vous avez besoin du profileur Android. Android Profiler affiche des données de profilage en temps réel pour le processeur, la mémoire et l'activité réseau liées à votre application. Vous pouvez effectuer un suivi de méthode basé sur des exemples pour chronométrer l'exécution de votre code, capturer des vidages de tas, afficher les allocations de mémoire et inspecter les détails des fichiers transmis par le réseau.Pour ouvrir Android Profiler, cliquez sur l'icône Android Profiler dans la barre d'outils ou accédez à l'élément de menu Affichage Fenêtres d'outils - Android Profiler.

La fenêtre de la timeline partagée s’affiche

émulateur Android             
La fenêtre Générateur de profils affiche des graphiques en temps réel relatifs à l'utilisation de l'UC, de la mémoire et du réseau, ainsi qu'un historique des événements indiquant les modifications apportées à l'état de l'activité, aux entrées utilisateur et aux rotations d'écran.Pour accéder aux outils de profilage détaillés pour une utilisation de l'UC, de la mémoire ou du réseau, cliquez sur le graphique associé. En fonction de la ressource faisant l'objet du profil, chaque vue de détail vous permet d'effectuer l'une des opérations suivantes:

  • Inspectez l'activité de la CPU et les traces de la méthode.
  • Inspectez le tas Java et les allocations de mémoire.
  • Inspectez le trafic réseau entrant et sortant.

Le pont de débogage Android

Android Debug Bridge (ADB) est une application de service client qui vous permet de vous connecter à un périphérique Android (virtuel ou réel). Il est composé de trois composants:

  • Un démon en cours d'exécution sur le périphérique ou l'émulateur.
  • Un service qui s'exécute sur votre ordinateur de développement.
  • Applications clientes qui communiquent avec le démon via le service 

En tant que canal de communication entre votre matériel de développement et le périphérique / émulateur Android, la BAD vous permet d’installer des applications, de transférer et de extraire des fichiers et d’exécuter des commandes shell sur le périphérique cible.

À l'aide du shell du périphérique, vous pouvez modifier les paramètres de journalisation et interroger ou modifier les bases de données SQLite disponibles sur le périphérique.Android Studio automatise et simplifie une grande partie de votre interaction habituelle avec la BAD, y compris l'installation et la mise à jour des applications, la journalisation des fichiers et le débogage.

Analyseur APK

APK Analyzer vous permet de mieux comprendre la composition de vos fichiers APK en fournissant une interface pour:        

  • Affichez la taille absolue et relative des fichiers stockés dans l'APK, y compris les fichiers DEX et les fichiers de ressources.
  • Affichez les versions finales des fichiers .DEX stockés dans l'APK.
  • Affichez la version finale du fichier AndroidManifest.xml.
  • Faites une comparaison côte à côte de deux APK.  

Pour analyser votre APK, vous pouvez glisser-déposer un fichier APK directement dans la fenêtre d'édition d'Android Studio, naviguer jusqu'à un APK du répertoire de construction - output - apks à l'aide de la perspective Projet, puis double-cliquer sur l'APK souhaité ou cliquer sur le bouton Construire. - Analysez l'élément de menu APK et sélectionnez un APK.

La fenêtre APK Analyzer,

émulateur Android

affiche chaque fichier et dossier stocké dans l'APK, et vous permet de naviguer dans chaque dossier ou d'afficher des détails supplémentaires sur chaque fichier.La colonne Taille du fichier brut représente la taille non compressée de chaque entité, tandis que la Taille de téléchargement indique la taille compressée estimée de l'entité lorsqu'elle est transmise par Google Play.En sélectionnant le manifeste de l'application, vous pouvez afficher le formulaire XML du fichier de manifeste final emballé dans votre APK.

L'outil Lint

Android Studio fournit un outil d'analyse de code statique appelé Lint, qui permet d'identifier et de corriger les problèmes de qualité structurelle dans votre code, sans avoir à exécuter l'application ou à écrire ces tests spécifiques. Les inspections Lint et IDE configurées s'exécutent automatiquement chaque fois que vous construisez votre application, vérifiant le code source et les fichiers de ressources pour rechercher d'éventuels bogues et des améliorations d'optimisation, notamment correction, sécurité, performances, convivialité, accessibilité et internationalisation. Les problèmes potentiels sont mis en évidence dans l'EDI avec une description, un niveau de gravité et, si possible, une solution suggérée. L'utilisation de Lint pour identifier et résoudre les problèmes structurels potentiels au sein de votre code peut améliorer considérablement la lisibilité, la fiabilité et l'efficacité de votre code. Il est recommandé de s’assurer que tous les avertissements Lint sont traités dans le cadre de votre processus de développement.

Tests d'interface utilisateur Monkey, Monkey Runner et Espresso

Les tests d’interface utilisateur permettent de s’assurer que les utilisateurs ne rencontrent pas de résultats inattendus lors de leurs interactions avec votre application. Android Studio comprend un certain nombre d'outils pour vous aider à créer des tests d'interface utilisateur / interaction utilisateur.

Monkey fonctionne à partir du shell ADB et envoie un flux d'événements système et d'interface utilisateur pseudo-aléatoires, mais pouvant être répétés, à votre application. Il est particulièrement utile de soumettre vos applications à des tests de résistance afin d’enquêter sur des cas extrêmes que vous n’auriez peut-être pas anticipés grâce à une utilisation non conventionnelle de l’UI.

Monkey Runner est également une API de script Python qui vous permet d’envoyer des commandes spécifiques à l’interface utilisateur pour contrôler un émulateur ou un périphérique en dehors de l’application. C’est extrêmement utile pour effectuer des tests unitaires, fonctionnels et unitaires de manière prévisible et reproductible.

La structure de test Espresso, fournie par l'intermédiaire de la bibliothèque de support de test Android, fournit des API permettant de rédiger des tests d'interface utilisateur afin de simuler des interactions utilisateur spécifiques pour une application spécifique. Espresso détecte le moment où le thread principal est inactif et exécute vos commandes de test au moment opportun pour améliorer la fiabilité des tests. Cette fonctionnalité vous évite également d’avoir besoin d’ajouter des solutions de rechange, telles qu’une période de repos, à votre code de test.Vous pouvez en apprendre plus sur les tests d’espresso à developer.android.com/training/testing/ espresso.

Gradle

Gradle est un système de construction avancé et une boîte à outils, intégrés à Android Studio, qui vous permettent d’effectuer des configurations de construction personnalisées sans avoir à modifier les fichiers source de votre application. L’utilisation de Gradle en tant que système de construction d’Android a pour but de faciliter la configuration, l’extension et la personnalisation du processus de construction, de simplifier la réutilisation du code et des ressources et de créer plus facilement plusieurs variantes de construction d’une application.Gradle étant basé sur des plug-ins, l'intégration avec Android Studio est gérée via le plug-in Android pour Gradle, qui fonctionne avec le toolkit de génération pour fournir une interface utilisateur dans Android Studio pour les processus et les paramètres configurables spécifiques à la création et au test d'applications Android. Gradle lui-même et le plug-in Android sont intégrés à Android Studio, mais en sont indépendants. Par conséquent, vous pouvez créer vos applications Android à partir d'Android Studio, de la ligne de commande sur votre ordinateur ou sur des ordinateurs sur lesquels Android Studio n'est pas installé (tels que des serveurs à intégration continue). Le résultat de la construction est identique, que vous créiez un projet à partir de la ligne de commande, sur un ordinateur distant ou que vous utilisiez Android Studio. Dans ce livre, nous allons créer nos applications dans Android Studio à l'aide du plugin Android de Gradle pour gérer nos interactions avec le système de construction. Une couverture complète des scripts Gradle, des versions personnalisées et des scripts de génération Gradle dépasse le cadre de ce livre, mais vous pouvez en apprendre davantage à l'adresse developer.android.com/studio/build/.