Ogni dispositivo virtuale in esecuzione fornisce una console che ti consente di eseguire query e controllare dell'ambiente del dispositivo. Ad esempio, puoi usare la console per gestire il reindirizzamento alle porte, caratteristiche ed eventi di telefonia mentre la tua app è in esecuzione sull'emulatore.
I comandi seguenti richiedono che sia già in esecuzione un emulatore. Per ulteriori informazioni per informazioni sull'esecuzione di un emulatore, vedi Eseguire app sull'emulatore Android e Avvia l'emulatore dalla riga di comando.
Avviare e interrompere una sessione della console
Per accedere alla console e inserire comandi da una finestra del terminale, usa telnet per
connettiti alla porta della console e fornisci il token di autenticazione. Ogni volta che viene visualizzata la console
Ok, è pronto per accettare i comandi. Non esiste un prompt tipico.
Per connetterti alla console di un dispositivo virtuale in esecuzione:
- Apri una finestra del terminale e inserisci questo comando:
 - Quando nella console viene visualizzato 
OK, inserisci il comandoauth auth_token. - Dopo aver effettuato la connessione alla console, inserisci comandi della console.
 - Per uscire dalla sessione della console, inserisci 
quitoexit. 
telnet localhost console-port
Il titolo della finestra dell'emulatore elenca il numero di porta della console quando viene eseguita in una finestra separata,
  non quando è eseguita nella finestra degli strumenti. Ad esempio, il titolo della finestra per un emulatore che utilizza la porta della console 5554
  potrebbe essere Pixel8_API_34:5554. Inoltre, il comando adb devices stampa un
  dei dispositivi virtuali in esecuzione con i relativi numeri di porta della console. Per ulteriori informazioni, vedi
  Query per i dispositivi.
Nota:l'emulatore rimane in ascolto delle connessioni sulle porte da 5554 a 5585
  e accetta connessioni solo da localhost.
Prima di poter inserire i comandi della console, la console dell'emulatore
  richiede l'autenticazione. auth_token deve
  corrisponde al contenuto del file .emulator_console_auth_token nella tua directory home.
Se il file non esiste, telnet localhost console-port
  crea il file, che contiene un token di autenticazione generato in modo casuale. Per disattivare
  dell'autenticazione, elimina il token
  .emulator_console_auth_token oppure crea un file vuoto se non esiste.
Inserisci help, help command o help-verbose
    per visualizzare un elenco di comandi della console e scoprire di più
    tramite comandi SQL.
Ecco un esempio di sessione:
$ 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.
Riferimento per i comandi dell'emulatore
La tabella seguente descrive i comandi della console dell'emulatore con i relativi parametri e valori:
Tabella 1. Comandi della console dell'emulatore
| Comandi generici | Descrizione | 
|---|---|
      avd {stop|start|status|name}
     | 
    
      Esegue query, controlla e gestisce il dispositivo virtuale nel modo seguente:
      
  | 
  
    avd snapshot {list|save name|load name|delete
        name}
     | 
    
      Salva e ripristina lo stato del dispositivo in snapshot, come segue:
      
 L'esempio seguente salva uno snapshot con il nome
         avd snapshot save firstactivitysnapshot  | 
  
      fold
     | 
      Consente di piegare il dispositivo per visualizzare la configurazione dello schermo più piccolo, se è pieghevole e attualmente non piegato. | 
      unfold
     | 
      Consente di aprire il dispositivo per visualizzare la configurazione dello schermo più grande, se è pieghevole e attualmente chiusa. | 
        kill
       | 
      Termina il dispositivo virtuale. | 
      ping
     | 
      Controlla se il dispositivo virtuale è in esecuzione. | 
      rotate
     | 
    Ruota la durata di visualizzazione media in senso antiorario con incrementi di 45 gradi. | 
| Arresto dell'emulatore | Descrizione | 
      crash
     | 
    Arresto dell'emulatore durante l'esecuzione dell'app. | 
crash-on-exit | 
      Fa in modo che l'emulatore si arresta in modo anomalo quando l'app si chiude. | 
| Tag di debug | Descrizione | 
debug tags ...
       | 
      
        
       Attiva o disattiva i messaggi di debug da parti specifiche dell'emulatore.
       Il parametro tags deve essere un valore dell'elenco dei tag di debug che compare quando
       eseguirai  
       Nell'esempio seguente viene attivato il tag  debug radio  | 
    
| Reindirizzamento delle porte | Descrizione | 
        redir list
        | 
      Elenca il reindirizzamento delle porte attuale. | 
      redir add protocol:host-port:guest-port
       | 
      
            Aggiunge un nuovo reindirizzamento delle porte, come segue:
          
  | 
    
        redir del protocol:host-port
       | 
      
        Elimina un reindirizzamento delle porte.
         
  | 
       
| Posizione geografica | Descrizione | 
| 
            Imposta la posizione geografica segnalata alle app in esecuzione all'interno di un emulatore inviando una posizione GPS all'emulatore. Puoi eseguire uno dei seguenti comandi   | 
       |
          geo fix longitude latitude [altitude] [satellites] [velocity]
          | 
         
            Invia una semplice correzione GPS all'emulatore.
               Specifica longitude e latitude
               in gradi decimali. Utilizza un numero compreso tra 1 e 12 per specificare il numero di
           satellites da utilizzare per determinare la posizione,
           e specifica altitude in metri e
           velocity nodi.
          | 
         
           geo nmea sentence
            | 
           
             Invia una frase NMEA 0183 al dispositivo emulato come se fosse inviata da un
             Modem GPS. Inizia sentence con "$GP".
             Solo "$GPGGA" e "$GPRCM" sono attualmente supportate. Nell'esempio che segue
             è una frase GPGGA (Global Positioning System Correggi Data) che ottiene
             data/ora, posizione e dati di correzione per un ricevitore 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  | 
    
| Eventi hardware falsi | Descrizione | 
        event types
       | 
      Elenca tutti i tipi di eventi falsi. Per gli eventi che hanno dei codici, il numero di codici è elencato in
        le parentesi a destra.
         
 
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 ...]
       | 
      Invia uno o più tipi di eventi falsi. | 
       event codes type
     | 
    Elenca i codici evento per il tipo di evento falso specificato. | 
     event send type[:code]:[value] [...]
     | 
    
      Invia uno o più eventi falsi con codici facoltativi e valori di codice.
       
        Per scoprire esattamente quale evento inviare, puoi usare il comando  Di seguito sono riportati gli eventi generati quando premi il tasto di accensione: 
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 per keydown e keyup:
      
event send EV_KEY:KEY_POWER:0
OK
event send EV_KEY:KEY_POWER:1
OK
       | 
    
       event text message
     | 
    Invia una stringa di caratteri che simula la pressione dei tasti. Il messaggio deve essere una stringa UTF-8. I post Unicode vengono mappati in modo inverso in base alla tastiera del dispositivo corrente e non sono supportati vengono eliminati automaticamente. | 
| Controlli di alimentazione | Descrizione | 
       power display
     | 
    Mostra lo stato della batteria e del caricabatterie. | 
      power ac {on|off}
       | 
      Imposta lo stato di ricarica con alimentazione su on o off.
       | 
    
        power status {unknown|charging|discharging|not-charging|full}
       | 
      Modifica lo stato della batteria come specificato. | 
        power present {true|false}
       | 
      Imposta lo stato di presenza della batteria. | 
          power health {unknown|good|overheat|dead|overvoltage|failure}
       | 
      Imposta lo stato di integrità della batteria. | 
         power capacity percent
       | 
      Imposta la capacità rimanente della batteria indica una percentuale compresa tra 0 e 100. | 
| Stato della connessione di rete | Descrizione | 
        network status
       | 
      Controlla lo stato della rete, le caratteristiche di ritardo attuale e velocità. | 
        network delay latency
       | 
      
         Modifica la latenza di rete emulata. L'emulatore consente di simulare vari livelli di latenza di rete per testare in un ambiente più tipico delle condizioni di esecuzione effettive. Puoi imposta un livello o un intervallo di latenza all'avvio dell'emulatore oppure puoi usare il per modificare la latenza mentre l'app è in esecuzione nell'emulatore. Il formato della rete latency è uno dei seguenti (i numeri sono in millisecondi): Formato latenza di rete: 
 Per impostare la latenza all'avvio dell'emulatore, usa  emulator -netdelay gprs emulator -netdelay 40,100 Per apportare modifiche al ritardo di rete mentre l'emulatore è in esecuzione, connettiti alla console e usa
  il comando  network delay gprs network delay 40 100  | 
    
network speed speed | 
      L'emulatore consente di simulare diverse velocità di trasferimento di rete.
         Puoi impostare una velocità o un intervallo di trasferimento all'avvio dell'emulatore oppure puoi usare la console per Modificare la frequenza mentre l'app è in esecuzione nell'emulatore. Il formato della rete  Formato velocità di rete: 
 
          Per impostare la velocità di rete all'avvio dell'emulatore, usa  emulator -netspeed gsm @Pixel_API_26 emulator -netspeed 14.4,80 @Pixel_API_26 Per apportare modifiche alla velocità della rete mentre l'emulatore è in esecuzione, connettiti alla console
         e usa il comando  network speed 14.4 80  | 
    
network capture {start|stop} file | 
      Invia pacchetti a un file. Nell'elenco che segue vengono descritti i parametri e
        valori parametro:
          
  | 
    
| Emulazione telefonica | Descrizione | 
| L'emulatore Android include i propri modem emulati GSM e CDMA che consentono di simulare le telefonate nell'emulatore. Ad esempio, con GSM è possibile simulare le telefonate in entrata e stabilire e terminare le connessioni dati. Con CDMA, occorre fornire una fonte abbonamento e il metodo preferito lista di roaming. Il sistema Android gestisce le chiamate simulate esattamente come le chiamate effettive. La l'emulatore non supporta l'audio delle chiamate. | |
        gsm {call|accept|cancel|busy} phonenumber
       | 
      
        I parametri gsm sono i seguenti:
          
  | 
    
      gsm {data|voice} state
     | 
    
      Il comando data state modifica lo stato della connessione dati GPRS,
      e il comando data voice state cambia lo stato della voce GPRS
      come segue:
      
  | 
    
        gsm hold
       | 
      
         Modifica lo stato di una chiamata in hold. Puoi modificare un
         stato di chiamata a hold solo quando il suo stato attuale è active o
         waiting.
       | 
    
        gsm list
       | 
      Elenca tutte le chiamate in entrata e in uscita e i relativi stati. | 
        gsm status
       | 
      
          Segnala lo stato attuale dei dati/della voce GSM. I valori sono quei valori
          descritti per i comandi voice e data.
       | 
    
      gsm signal {rssi|ber}
     | 
    
        Modifica l'intensità del segnale (rssi) e il tasso di errore di bit (ber) segnalati sui successivi 15
        secondi dall'aggiornamento. Nell'elenco che segue vengono descritti i parametri e i relativi valori:
             
  | 
  
        gsm signal-profile num
       | 
      
         Imposta il profilo di intensità del segnale.
         num è un numero compreso tra 0 e 4.
       | 
    
        cdma ssource source
       | 
      
        Imposta l'attuale origine dell'abbonamento CDMA, dove
        source è una lista consentita basata sulla rete che contiene
        Gli abbonati all'operatore CDMA e i relativi valori, come segue:
        
  | 
    
      cdma prl_version version
     | 
    Esegue il dump della versione corrente dell'elenco di roaming preferito (PRL). Il numero di versione è per il PRL che contiene informazioni utilizzate durante il processo di selezione e acquisizione del sistema. | 
| Gestisci i sensori dell'emulatore | Descrizione | 
        Questi comandi riguardano
        quali sensori sono disponibili nella durata di visualizzazione media. Oltre a usare il comando sensor,
        vedere e regolare le impostazioni nell'emulatore nella schermata Sensori virtuali in
        le schede Accelerometro e Sensori aggiuntivi.
       | 
    |
        sensor status | 
      
        Elenca tutti i sensori e il relativo stato. Di seguito è riportato un esempio di output per
        Comando sensor status:
       | 
    
        sensor get sensor-name
       | 
      
        Recupera le impostazioni per sensor-name. L'esempio seguente restituisce
        valore del sensore di accelerazione:
sensor get acceleration acceleration = 2.23517e-07:9.77631:0.812348 
          I valori   | 
    
sensor set sensor-name value-x:value-y:value-z
       | 
      
        Consente di impostare i valori per sensor-name. L'esempio seguente imposta il parametro
        del sensore di accelerazione ai valori x, y e z
        separate da due punti.
        sensor set acceleration 2.23517e-07:9.77631:0.812348  | 
    
| Emulazione SMS | Descrizione | 
        sms send sender-phone-number textmessage
       | 
      
        Genera un SMS in arrivo emulato. Nell'elenco che segue vengono descritti i parametri e
        i loro valori:
        
 L'esempio seguente invia il messaggio "Ciao" al 4085555555 numero di telefono: sms send 4085555555 hi there La console inoltra il messaggio SMS al framework Android, che lo passa a un nell'emulatore che gestisce gli SMS, ad esempio l'app Messaggi. Se passi 10 numeri, l'app lo formatta come numero di telefono. Le stringhe numeriche più lunghe o più brevi mostrano il modo che hai inviato. 
  | 
    
| Simulazione di impronte | Descrizione | 
        finger touch fingerprint-id
       | 
      Simula un dito che tocca il sensore. | 
        finger remove
       | 
      
        Simula la rimozione di un dito.
         Per istruzioni su come utilizzare questi comandi, consulta la sezione seguente su simulazione e convalida delle impronte.  | 
    
Simulazione e convalida delle impronte
    Figura 1. Schermata Autenticazione tramite impronta.
Utilizza il comando finger per simulare e convalidare l'autenticazione tramite impronta per il tuo
dell'app. Devi disporre di SDK Tools 24.3 o versioni successive e di Android 6.0 (livello API 23) o versioni successive.
Per simulare e convalidare l'autenticazione tramite impronta, segui questi passaggi:
- Se non disponi ancora di un ID impronta, registra una nuova impronta nell'emulatore selezionando Impostazioni > Sicurezza > Impronta e seguire istruzioni per la registrazione.
 - Configura l'app in modo che accetti impronta autenticazione. Dopo aver eseguito la configurazione, il dispositivo mostra l'impronta di autenticazione.
 - Mentre nell'app è visualizzata la schermata di autenticazione tramite impronta, vai alla console e
        inserisci il comando 
finger touche l'ID dell'impronta che hai creato. Questo simula il tocco del dito. - Quindi, inserisci il comando 
finger removeper simulare la rimozione del dito.L'app dovrebbe rispondere come se un utente toccasse e poi avesse rimosso il dito dal sensore di impronte digitali.