Chaque appareil virtuel en cours d'exécution fournit une console qui vous permet d'interroger et de contrôler l'environnement de l'appareil émulé. Par exemple, vous pouvez utiliser la console pour gérer la redirection de port, les caractéristiques réseau et les événements téléphoniques lorsque votre application est exécutée sur l'émulateur.
Les commandes suivantes nécessitent qu'un émulateur soit déjà en cours d'exécution. Pour plus d'informations sur l'exécution d'un émulateur, consultez les sections Exécuter des applications sur Android Emulator et Lancer l'émulateur à partir de la ligne de commande.
Démarrer et arrêter une session de console
Pour accéder à la console et entrer des commandes à partir d'une fenêtre de terminal, utilisez telnet
pour vous connecter au port de la console et fournir votre jeton d'authentification. Chaque fois que la console affiche OK, elle est prête à accepter les commandes. Elle n'est pas associée à une invite type.
Pour vous connecter à la console d'un appareil virtuel en cours d'exécution :
- Ouvrez une fenêtre de terminal et entrez la commande suivante :
- Une fois que la console affiche
OK
, entrez la commandeauth auth_token
. - Une fois connecté à la console, entrez des commandes de console.
- Pour quitter la session de console, entrez
quit
ouexit
.
telnet localhost console-port
Le titre de la fenêtre de l'émulateur indique le numéro de port de la console lors d'une exécution dans une fenêtre distincte, mais pas dans une fenêtre d'outil. Par exemple, le titre de la fenêtre d'un émulateur utilisant le port 5554 de la console peut être Pixel8_API_34:5554
. En outre, la commande adb devices
affiche la liste des appareils virtuels en cours d'exécution et les numéros de port de leur console. Pour en savoir plus, consultez la section Requête pour des appareils.
Remarque : L'émulateur écoute les connexions sur les ports 5554 à 5585 et n'accepte que les connexions de localhost
.
Pour que vous puissiez entrer des commandes de console, la console de l'émulateur exige une authentification. auth_token
doit correspondre au contenu du fichier .emulator_console_auth_token
dans votre répertoire d'accueil.
Si ce fichier n'existe pas, la commande telnet localhost console-port
crée le fichier, qui contient un jeton d'authentification généré aléatoirement. Pour désactiver l'authentification, supprimez le jeton du fichier .emulator_console_auth_token
ou créez un fichier vide s'il n'existe pas.
Entrez help
, help command
ou help-verbose
pour afficher la liste des commandes de console et en savoir plus sur des commandes spécifiques.
Voici un exemple de session :
$ telnet localhost 5554 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Android Console: Authentication required Android Console: type 'auth <auth_token>' to authenticate Android Console: you can find your <auth_token> in '/Users/me/.emulator_console_auth_token' OK auth 123456789ABCdefZ Android Console: type 'help' for a list of commands OK help-verbose Android console command help: help|h|? Prints a list of commands help-verbose Prints a list of commands with descriptions ping Checks if the emulator is alive automation Manages emulator automation event Simulates hardware events geo Geo-location commands gsm GSM related commands cdma CDMA related commands crash Crashes the emulator instance crash-on-exit Simulates crash on exit for the emulator instance kill Terminates the emulator instance restart Restarts the emulator instance network Manages network settings power Power related commands quit|exit Quits control session redir Manages port redirections sms SMS related commands avd Controls virtual device execution qemu QEMU-specific commands sensor Manages emulator sensors physics Manages physical model finger Manages emulator finger print debug Controls the emulator debug output tags rotate Rotates the screen clockwise by 90 degrees screenrecord Records the emulator's display fold Folds the device unfold Unfolds the device multidisplay Configures the multi-display nodraw turn on/off NoDraw mode. (experimental) resize-display resize the display resolution to the preset size virtualscene-image customize virtualscene image for virtulscene camera proxy manage network proxy server settings phonenumber set phone number for the device try 'help <command>' for command-specific help OK exit Connection closed by foreign host.
Documentation de référence sur les commandes de l'émulateur
Le tableau suivant décrit les commandes de la console de l'émulateur, ainsi que leurs paramètres et valeurs.
Tableau 1. Commandes de la console de l'émulateur
Commandes générales | Description |
---|---|
avd {stop|start|status|name}
|
Interroge, contrôle et gère l'appareil virtuel comme suit :
|
avd snapshot {list|save name|load name|delete
name}
|
Enregistre et restaure l'état de l'appareil dans des instantanés, comme suit :
L'exemple suivant enregistre un instantané nommé avd snapshot save firstactivitysnapshot |
fold
|
Plie l'appareil pour afficher sa configuration d'écran réduite (s'il est pliable et actuellement déplié). |
unfold
|
Déplie l'appareil pour afficher sa configuration d'écran agrandie (s'il est pliable et actuellement plié). |
kill
|
Arrête l'appareil virtuel. |
ping
|
Vérifie si l'appareil virtuel est en cours d'exécution. |
rotate
|
Fait pivoter l'appareil virtuel Android dans le sens inverse des aiguilles d'une montre par incréments de 45 degrés. |
Plantage de l'émulateur | Description |
crash
|
Fait planter l'émulateur pendant l'exécution de l'application. |
crash-on-exit |
Fait planter l'émulateur lorsque l'application se ferme. |
Balises de débogage | Description |
debug tags ...
|
Active ou désactive les messages de débogage dans des parties spécifiques de l'émulateur.
Le paramètre tags doit être une valeur de la liste des balises de débogage qui s'affiche lorsque vous exécutez
L'exemple suivant active la balise debug radio |
Redirection de port | Description |
redir list
|
Indique la redirection de port actuelle. |
redir add protocol:host-port:guest-port
|
Ajoute une nouvelle redirection de port comme suit :
|
redir del protocol:host-port
|
Supprime une redirection de port.
|
Emplacement géographique | Description |
Définit l'emplacement géographique signalé aux applications exécutées dans un émulateur en envoyant une position GPS à l'émulateur. Vous pouvez exécuter l'une des commandes |
|
geo fix longitude latitude [altitude] [satellites] [velocity]
|
Envoie une position GPS simple à l'émulateur.
Indiquez longitude et latitude en degrés décimaux. Saisissez un nombre compris entre 1 et 12 pour définir le nombre de satellites à utiliser pour déterminer l'emplacement, et indiquez altitude en mètres et velocity en nœuds.
|
geo nmea sentence
|
Envoie une phrase NMEA 0183 à l'appareil émulé, comme s'il s'agissait d'un modem GPS émulé. Commencez l'élément sentence par "$GP".
Seules les phrases "$GPGGA" et "$GPRCM" sont actuellement prises en charge. L'exemple suivant est une phrase GPGGA (Global Positioning System Fix Data) qui récupère les données de temps, d'emplacement et de position d'un récepteur GPS :
geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx |
Événements matériels factices | Description |
event types
|
Indique tous les types d'événements factices. Pour les événements associés à des codes, le nombre de codes est indiqué entre parenthèses sur la droite.
event types event <type> can be an integer or one of the following aliases: EV_SYN EV_KEY (405 code aliases) EV_REL (2 code aliases) EV_ABS (27 code aliases) EV_MSC EV_SW (4 code aliases) EV_LED EV_SND EV_REP EV_FF EV_PWR EV_FF_STATUS EV_MAX OK |
event send types [types ...]
|
Envoie un ou plusieurs types d'événements factices. |
event codes type
|
Affiche la liste des codes d'événement pour le type d'événement factice spécifié. |
event send type[:code]:[value] [...]
|
Envoie un ou plusieurs événements factices avec des codes et des valeurs de code facultatifs.
Pour connaître l'événement exact à envoyer, vous pouvez utiliser la commande Voici les événements générés lorsque vous appuyez sur le bouton Marche/Arrêt : adb shell getevent -lt /dev/input/event12: EV_KEY KEY_POWER DOWN /dev/input/event12: EV_SYN SYN_REPORT 00000000 /dev/input/event12: EV_KEY KEY_POWER UP /dev/input/event12: EV_SYN SYN_REPORT 00000000 EV_KEY pour le keydown et le keyup:
event send EV_KEY:KEY_POWER:0 OK event send EV_KEY:KEY_POWER:1 OK |
event text message
|
Envoie une chaîne de caractères simulant des pressions de touche. Le message doit être une chaîne UTF-8. Les publications Unicode sont mappées à l'envers selon le clavier de l'appareil actuel, et les caractères non pris en charge sont supprimés de manière silencieuse. |
Commandes d'état de l'alimentation | Description |
power display
|
Affiche l'état de la batterie et du chargeur. |
power ac {on|off}
|
Définit l'état de charge sur secteur sur on ou off .
|
power status {unknown|charging|discharging|not-charging|full}
|
Modifie l'état de la batterie comme indiqué. |
power present {true|false}
|
Définit l'état de présence de la batterie. |
power health {unknown|good|overheat|dead|overvoltage|failure}
|
Définit l'intégrité de la batterie. |
power capacity percent
|
Définit l'état de la batterie restante en tant que pourcentage compris entre 0 et 100 %. |
État de la connexion réseau | Description |
network status
|
Vérifie l'état du réseau ainsi que les caractéristiques de retard et de débit actuelles. |
network delay latency
|
Modifie la latence du réseau émulé. L'émulateur vous permet de simuler différents niveaux de latence réseau afin que vous puissiez tester votre application dans un environnement plus représentatif des conditions réelles de son exécution. Vous pouvez définir un niveau ou une plage de latence au démarrage de l'émulateur, ou utiliser la console pour modifier la latence pendant que l'application s'exécute dans l'émulateur. Le format du réseau latency est l'un des suivants (les nombres sont exprimés en millisecondes) : Format de latence réseau :
Pour définir la latence au démarrage de l'émulateur, utilisez l'option d'émulateur emulator -netdelay gprs emulator -netdelay 40,100 Pour modifier le retard réseau pendant que l'émulateur s'exécute, connectez-vous à la console et utilisez la commande network delay gprs network delay 40 100 |
network speed speed |
L'émulateur vous permet de simuler différents taux de transfert réseau.
Vous pouvez définir un taux ou une plage de transfert au démarrage de l'émulateur, ou utiliser la console pour modifier ce taux pendant que l'application s'exécute dans l'émulateur. Le format de réseau Format de débit réseau :
Pour définir le débit réseau au démarrage de l'émulateur, utilisez l'option d'émulateur emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Pour modifier le débit réseau pendant que l'émulateur s'exécute, connectez-vous à la console et utilisez la commande network speed 14.4 80 |
network capture {start|stop} file |
Envoie des paquets à un fichier. La liste suivante décrit les paramètres et leurs valeurs :
|
Émulation de téléphonie | Description |
Android Emulator inclut ses propres modems émulés GSM et CDMA qui vous permettent de simuler des fonctions de téléphonie dans l'émulateur. Par exemple, GSM vous permet de simuler des appels téléphoniques entrants, ainsi que d'établir et d'arrêter des connexions de données. Avec CDMA, vous fournissez une source d'abonnement et la liste d'itinérance préférée. Le système Android gère les appels simulés exactement comme les appels réels. L'émulateur n'est pas compatible avec l'audio des appels. | |
gsm {call|accept|cancel|busy} phonenumber
|
Les paramètres gsm sont les suivants :
|
gsm {data|voice} state
|
La commande data state modifie l'état de la connexion de données GPRS, tandis que la commande data voice state modifie l'état de la connexion vocale GPRS, comme suit :
|
gsm hold
|
Définit l'état d'un appel sur hold . Vous ne pouvez définir l'état d'un appel sur hold que si son état actuel est active ou waiting .
|
gsm list
|
Affiche la liste de tous les appels entrants et sortants, ainsi que leur état. |
gsm status
|
Affiche l'état actuel de la connexion vocale/de données GSM. Les valeurs sont celles décrites pour les commandes voice et data .
|
gsm signal {rssi|ber}
|
Modifie l'intensité du signal (rssi) et le taux d'erreur par bit (ber) enregistrés au cours des 15 prochaines secondes de mise à jour. La liste suivante décrit les paramètres et leurs valeurs :
|
gsm signal-profile num
|
Définit le profil d'intensité du signal.
num est un nombre compris entre 0 et 4.
|
cdma ssource source
|
Définit la source d'abonnement CDMA actuelle, où source est une liste d'autorisation basée sur le réseau qui contient les abonnés de l'opérateur CDMA et leurs valeurs, comme suit :
|
cdma prl_version version
|
Vide la version actuelle de la liste d'itinérance préférée (PRL). Le numéro de version correspond à la base de données PRL qui contient les informations utilisées lors du processus de sélection et d'acquisition du système. |
Gestion des capteurs sur l'émulateur | Description |
Ces commandes concernent les capteurs disponibles dans l'appareil virtuel Android. En plus d'utiliser la commande sensor , vous pouvez afficher et ajuster les paramètres dans l'émulateur sur l'écran Virtual sensors (Capteurs virtuels) des onglets Accelerometer (Accéléromètre). et Additional sensors (Capteurs supplémentaires).
|
|
sensor status |
Affiche la liste de tous les capteurs et leur état. Voici un exemple de sortie correspondant à la commande sensor status :
|
sensor get sensor-name
|
Récupère les paramètres de sensor-name . L'exemple suivant obtient la valeur du capteur d'accélération :
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348
Les valeurs |
sensor set sensor-name value-x:value-y:value-z
|
Définit les valeurs de sensor-name . L'exemple suivant définit le capteur d'accélération sur les valeurs x, y et z, séparées par des caractères deux-points.
sensor set acceleration 2.23517e-07:9.77631:0.812348 |
Émulation de SMS | Description |
sms send sender-phone-number textmessage
|
Génère un SMS entrant émulé. La liste suivante décrit les paramètres et leurs valeurs :
Dans l'exemple suivant, le message "hi there" est envoyé au numéro 4085555555 : sms send 4085555555 hi there La console transfère le SMS au framework Android, qui le transmet à une application de l'émulateur qui gère les SMS, comme l'application Messages. Si vous transmettez 10 chiffres, l'application en fait un numéro de téléphone. Les chaînes numériques plus longues ou plus courtes indiquent la manière dont vous les avez envoyées.
|
Simulation d'empreintes digitales | Description |
finger touch fingerprint-id
|
Simule la pression d'un doigt sur le capteur. |
finger remove
|
Simule le retrait du doigt.
Pour découvrir comment utiliser ces commandes, consultez la section suivante intitulée Simulation et validation d'empreintes digitales. |
Simulation et validation d'empreintes digitales
![](https://developer.android.com/static/studio/images/run/fingerprint_2x.png?authuser=9&hl=fr)
Figure 1 : Écran d'authentification par empreinte digitale.
Utilisez la commande finger
pour simuler et valider l'authentification par empreinte digitale pour votre application. Vous devez utiliser SDK Tools 24.3 ou une version ultérieure et Android 6.0 (API niveau 23) ou une version ultérieure.
Pour simuler et valider l'authentification par empreinte digitale, procédez comme suit :
- Si vous n'avez pas encore d'ID d'empreinte, enregistrez une nouvelle empreinte dans l'émulateur en sélectionnant Settings > Security > Fingerprint (Paramètres > Sécurité > Empreinte digitale), puis en suivant les instructions d'enregistrement.
- Configurez votre application pour qu'elle accepte l'authentification par empreinte digitale. Une fois cette étape effectuée, votre appareil affiche l'écran d'authentification par empreinte digitale.
- Pendant que votre application affiche l'écran d'authentification par empreinte digitale, accédez à la console et entrez la commande
finger touch
ainsi que l'ID d'empreinte que vous avez créé. Cela simule un geste avec le doigt. - Entrez ensuite la commande
finger remove
pour simuler le retrait d'un doigt.Votre application doit réagir comme si un utilisateur touchait le lecteur d'empreinte digitale, puis en retirait son doigt.