Avvia l'emulatore dalla riga di comando

L'SDK Android include un emulatore di dispositivi Android, ovvero un dispositivo virtuale in esecuzione sul tuo computer. Android Emulator consente di sviluppare e testare App per Android senza utilizzare un dispositivo fisico.

In questa pagina vengono descritte le funzionalità a riga di comando che puoi utilizzare con Emulatore Android. Per informazioni sull'uso dell'interfaccia utente dell'emulatore Android, vedi Eseguire app sull'emulatore Android.

Avvia l'emulatore

Usa il comando emulator per avviare l'emulatore, come alternativa a l'esecuzione del progetto o tramite Gestione AVD.

Di seguito è riportata la sintassi di base della riga di comando per avviare un dispositivo virtuale da un prompt del terminale:

emulator -avd avd_name [ {-option [value]} … ]

Oppure

emulator @avd_name [ {-option [value]} … ]

Ad esempio, se avvii l'emulatore dall'interno di Android Studio su un Mac, il valore predefinito della riga di comando sarà simile alla seguente:

/Users/janedoe/Library/Android/sdk/emulator/emulator -avd Pixel8_API_34 -netdelay none -netspeed full -qt-hide-window -grpc-use-token -idle-grpc-timeout

Tieni presente che gli argomenti -qt-hide-window -grpc-use-token -idle-grpc-timeout vengono utilizzati solo per eseguire la finestra dell'emulatore in Android Studio. Se vuoi eseguire l'emulatore in una finestra separata, non utilizzare questi parametri aggiuntivi.

Puoi specificare le opzioni di avvio all'avvio dell'emulatore, ma non dopo l'avvio.

Per un elenco di nomi di durata di visualizzazione media, inserisci il seguente comando:

emulator -list-avds

Utilizza questa opzione per visualizzare un elenco di nomi di durata di visualizzazione media dalla home directory di Android. Puoi eseguire l'override della home directory predefinita impostando il ANDROID_SDK_HOME di ambiente che specifica la radice una directory specifica dell'utente in cui è archiviato tutto il contenuto della configurazione e della durata di visualizzazione media.

Puoi impostare la variabile di ambiente nella finestra del terminale prima di avviare un dispositivo virtuale o tramite le impostazioni utente nella di un sistema operativo completo. Ad esempio, nel tuo file .bashrc su Linux.

Per arrestare l'emulatore Android, chiudi la finestra dell'emulatore.

Installare un'app

Oltre a installare un'app tramite Android Studio o l'emulatore Interfaccia utente, puoi installare la tua app su un dispositivo virtuale utilizzando l'utilità adb.

Per usare adb per installare, eseguire e testare la tua app: segui questi passaggi generali:

  1. Crea e pacchettizza la tua app in un APK, come descritto nella sezione Creare ed eseguire i tuoi Google Cloud.
  2. Avvia l'emulatore dalla riga di comando, come descritto utilizzando le eventuali opzioni di avvio necessarie.
  3. Installa l'app utilizzando adb.
  4. Esegui e testa la tua app sull'emulatore.
    Mentre l'emulatore è in esecuzione, puoi utilizzare l'emulatore console Cloud per inviare comandi secondo necessità.

Per disinstallare un'app, procedi come faresti su un dispositivo Android.

Il dispositivo virtuale conserva l'app e i relativi dati sullo stato durante i riavvii in una partizione del disco dati utente (userdata-qemu.img). Per cancellare avvia l'emulatore con l'opzione -wipe-data o cancella i dati i dati in Gestione AVD. Per ulteriori informazioni sui dati utente la partizione di memoria e altro spazio di archiviazione, consulta la sezione seguente.

Nota: l'utilità adb considera il dispositivo virtuale come un dispositivo fisico reale. Per questo motivo, potresti dover utilizzare -d con alcuni comandi adb comuni, ad esempio install. Il flag -d consente di specificare quale tra diverse dispositivi connessi da usare come destinazione di un comando. Se non specifichi -d, l'emulatore sceglie come target il primo dispositivo dell'elenco.

Informazioni sulle directory e sui file predefiniti

L'emulatore utilizza file associati, di cui il sistema AVD e le directory dei dati sono le più importanti. È utile comprendere la struttura della directory dell'emulatore quando specifichi le opzioni della riga di comando, anche se in genere non è necessario modificare le directory o i file predefiniti.

L'emulatore Android utilizza l'hypervisor (QEMU).

Directory di sistema della durata di visualizzazione media

La directory di sistema contiene le immagini di sistema Android utilizzate dall'emulatore per simulare il sistema operativo. Questa directory contiene file di sola lettura specifici della piattaforma è condivisa da tutti gli AVD dello stesso tipo, tra cui livello API, architettura CPU e Variante Android. Le località predefinite sono le seguenti:

  • macOS e Linux - ~/Library/Android/sdk/system-images/android-apiLevel/variant/arch/
  • Windows - C:\Users\user\Library\Android\sdk\system-images\android-apiLevel\variant\arch\

Dove:

  • apiLevel è un livello API numerico o una lettera per le release in anteprima. Ad esempio, android-V indica che Android Anteprima VanillaIceCream. Al momento del rilascio, è diventato il livello API 35, indicato da android-35.
  • variant è un nome che corrisponde a funzionalità specifiche e implementato dall'immagine di sistema. Ad esempio, google_apis o android-wear.
  • arch è l'architettura della CPU di destinazione. Ad esempio: x86.

Utilizza l'opzione -sysdir per specificare una directory di sistema diversa per la durata di visualizzazione media.

L'emulatore legge i seguenti file dalla directory di sistema:

Tabella 1. File di directory di sistema letti da Android Emulatore

File Descrizione Opzione per specificare un file diverso
kernel-qemu o kernel-ranchu L'immagine del kernel binario per la durata di visualizzazione media. kernel-ranchu si basa su emulatore QEMU. -kernel
ramdisk.img L'immagine della partizione di avvio. Questo è un sottoinsieme di system.img caricato dal kernel prima del montaggio dell'immagine di sistema. it di solito contiene solo alcuni programmi binari e script di inizializzazione. -ramdisk
system.img La versione iniziale di sola lettura dell'immagine di sistema. In particolare, contenente le librerie di sistema e i dati corrispondenti al livello API e la variante. -system
userdata.img La versione iniziale della partizione dati, visualizzata data/ nel sistema emulato e contiene tutti i dati scrivibili relativi al Durata di visualizzazione media. L'emulatore utilizza questo file quando crei una nuova durata di visualizzazione media o utilizzi la Opzione ‑wipe-data. Per ulteriori informazioni, consulta descrizione del file userdata-qemu.img nella sezione seguente. -initdata
-init-data

Directory dei dati della durata di visualizzazione media

La directory dei dati AVD, chiamata anche directory dei contenuti, è specifica di una singola istanza AVD e contiene tutti i dati modificabili per la durata di visualizzazione media.

La località predefinita è la seguente, dove name rappresenta Nome durata di visualizzazione media:

  • macOS e Linux - ~/.android/avd/name.avd/
  • Windows 10 e versioni successive - C:\Users\user\.android\name.avd\

Utilizza l'opzione -datadir per specificare una directory di dati AVD diversa.

La tabella seguente elenca i file più importanti contenuti in questa directory:

Tabella 2. File importanti nella directory dei dati della durata di visualizzazione media

File Descrizione Opzione per specificare un file diverso
userdata-qemu.img

I contenuti della partizione dati, visualizzati come data/ in il sistema emulato. Quando crei una nuova durata di visualizzazione media o utilizzi la l'opzione -wipe-data per ripristinare la durata di visualizzazione media ai valori predefiniti di fabbrica, l'emulatore copia il file userdata.img nella directory di sistema per creare questo file.

Ogni istanza di dispositivo virtuale utilizza un'immagine dei dati utente scrivibile per archiviare utenti e specifici della sessione. Ad esempio, utilizza l'immagine per memorizzare il nome utente di dati, impostazioni, database e file delle app installate. Ogni utente ha un un'altra directory ANDROID_SDK_HOME in cui sono archiviate le directory dei dati Durata di visualizzazione media creata dall'utente. Ogni durata di visualizzazione media ha un singolo userdata-qemu.img .

-data
cache.img L'immagine della partizione cache, visualizzata come cache/ nella in un sistema emulato. È vuoto quando crei una durata di visualizzazione media o utilizzi Opzione -wipe-data. Archivia file di download temporanei e vengono compilate da Gestione dei download e talvolta dal sistema. Ad esempio, il browser lo utilizza per memorizzare nella cache le pagine web e le immagini scaricate mentre l'emulatore è in esecuzione. Quando spegni il dispositivo virtuale, il file viene eliminato. Puoi salvare il file in modo permanente utilizzando l'opzione -cache. -cache
sdcard.img

(Facoltativo) Un'immagine di partizione della scheda SD che ti consente di simulare su un dispositivo virtuale. Puoi creare un file immagine di una scheda SD nella Durata di visualizzazione media dei file (AVD) Gestore o tramite mksdcard lo strumento a riga di comando gcloud. Il file è memorizzato sul computer di sviluppo e deve essere caricato all'indirizzo avvio automatico.

Quando definisci una durata di visualizzazione media in Gestione AVD, puoi scegliere per utilizzare un file di scheda SD gestito automaticamente o un file creato con lo strumento mksdcard. Puoi visualizzare il file sdcard.img associate a una durata di visualizzazione media in Gestione AVD. Opzione -sdcard sostituisce il file della scheda SD specificato nella durata di visualizzazione media. Tieni presente che questa opzione relativa alla scheda SD non funziona su Mac con Apple Silicon.

Puoi sfogliare e inviare file, nonché copiare e rimuovere file da una SD simulata utilizzando l'interfaccia utente dell'emulatore o la scheda adb mentre il dispositivo virtuale è in esecuzione. Non puoi rimuovere una SD simulata da un dispositivo virtuale in esecuzione.

Per copiare i file sul file della scheda SD prima di caricarlo, monta l'immagine come dispositivo di loop, quindi copia i file. In alternativa, utilizza un'utilità come mtools, per copiare i file direttamente nell'immagine.

L'emulatore considera il file come un pool di byte, quindi il formato della scheda SD sono importanti.

L'opzione -wipe-data non influisce su questo file. Se vuoi cancellare il file, eliminarlo e ricrearlo utilizzando Gestione AVD o lo strumento mksdcard. Modifica delle dimensioni del file elimina il file e ne crea uno nuovo.

-sdcard

Elenca le directory e i file utilizzati dall'emulatore

Puoi scoprire la posizione dei file in due modi:

  • Utilizza la -verbose o -debug init quando avvii l'emulatore dall' dall'interfaccia a riga di comando. Guarda l'output.
  • Usa il comando emulator -help-option per una directory predefinita. Ad esempio:
    emulator -help-datadir
    Use '-datadir <dir>' to specify a directory where writable image files will be searched. On this system, the default directory is: /Users/me/.android See '-help-disk-images' for more information about disk image files.

Opzioni di avvio dalla riga di comando

Questa sezione elenca le opzioni che puoi fornire nella riga di comando quando avvii un emulatore.

Nota:l'emulatore Android è costantemente in fase di sviluppo per renderlo più affidabile. Per lo stato dei problemi segnalati rispetto alle varie opzioni della riga di comando e per segnalare bug, consulta la Issue Tracker di Android.

Opzioni più utilizzate

La seguente tabella elenca le opzioni di avvio dalla riga di comando che potresti utilizzare più spesso:

Tabella 3. Opzioni a riga di comando più utilizzate

Opzione della riga di comando Descrizione
Avvio rapido
-no-snapshot-load Esegue un avvio a freddo e salva lo stato dell'emulatore all'uscita.
-no-snapshot-save Se possibile esegue un avvio rapido, ma non salva lo stato dell'emulatore all'uscita.
-no-snapshot Disattiva completamente la funzionalità Avvio rapido e non carica o salva lo stato dell'emulatore.
Hardware del dispositivo
-camera-back mode
-camera-front mode
Consente di impostare la modalità di emulazione per una fotocamera posteriore o anteriore. Questa operazione sostituisce qualsiasi impostazione della videocamera nella durata di visualizzazione media.

mode può essere uno qualsiasi dei seguenti valori:

  • emulated: l'emulatore simula una videocamera nel software.
  • webcamn - L'emulatore utilizza una webcam connessa al tuo di sviluppo, specificato da un numero. Per un elenco di webcam, utilizza la Opzione -webcam-list. Ad esempio, webcam0.
  • none: disattiva la fotocamera nel dispositivo virtuale.

Ad esempio:

emulator @Pixel8_API_34 -camera-back webcam0
-webcam-list Elenca le webcam sul tuo computer di sviluppo che sono disponibili per l'emulazione. Per esempio:
emulator @Pixel8_API_34 -webcam-list
        List of web cameras connected to the computer:
        Camera 'webcam0' is connected to device 'webcam0'
        on channel 0 using pixel format 'UYVY'

Nell'esempio, il primo webcam0 è il nome utilizzato nella riga di comando. Il secondo webcam0 è il nome utilizzato dal sistema operativo sul computer di sviluppo. La il secondo nome varia a seconda del sistema operativo.

A partire da SDK Tools 25.2.4, il nome della durata di visualizzazione media è obbligatorio.

Immagini del disco e memoria
-memory size

Specifica la dimensione della RAM fisica, da 1536 a 8192 MB. Ad esempio:

emulator @Pixel8_API_34 -memory 2048

Questo valore sostituisce l'impostazione della durata di visualizzazione media.

-sdcard filepath Specifica il nome file e il percorso di un file dell'immagine di partizione della scheda SD. Per esempio:

emulator @Pixel8_API_34 -sdcard C:/sd/sdcard.img

Se il file non viene trovato, viene avviato comunque l'emulatore, ma senza scheda SD. Il comando restituisce un avviso Nessuna immagine scheda SD.

Se non specifichi questa opzione, il valore predefinito è sdcard.img nella directory dei dati, a meno che la durata di visualizzazione media non specifichi qualcosa di diverso. Per maggiori dettagli sulle schede SD emulate, vedi Directory dei dati di visualizzazione media.

-wipe-data Elimina i dati utente e copia i dati dal file di dati iniziale. Questa opzione cancella i dati per il dispositivo virtuale e li restituisce allo stesso stato di quando che era stato definito inizialmente. Vengono rimosse tutte le app e le impostazioni installate. Ad esempio:

emulator @Pixel8_API_34 -wipe-data

Per impostazione predefinita, il file di dati utente è userdata-qemu.img e il valore iniziale file di dati è userdata.img. Entrambi questi file si trovano nella directory dei dati. L'opzione -wipe-data non influisce su sdcard.img . Per ulteriori informazioni sui dati utente, consulta la sezione Comprendere directory e file predefiniti.

Debug
-debug tags Attiva o disattiva la visualizzazione dei messaggi di debug per uno o più tag. Separa più tag con uno spazio, una virgola o una colonna. Ad esempio:

$ emulator @Pixel8_API_34 -debug init,metrics

Per disattivare un tag, inserisci un trattino (-) davanti al tag. Ad esempio, visualizza tutti i messaggi di debug, ad eccezione di quelli relativi ai socket di rete e metriche:

-debug all,-socket,-metrics

Per un elenco di tag e descrizioni, utilizza -help-debug-tags . Ad esempio:

emulator -help-debug-tags

Puoi definire i tag di debug predefiniti nella ANDROID_VERBOSE variabile di ambiente. Definisci i tag da utilizzare in un elenco delimitato da virgole. Ecco un esempio che mostra come specificare socket e gles tag:

ANDROID_VERBOSE=socket,gles

Equivale a utilizzare:

-debug-socket -debug-gles

oppure

-debug socket,gles

-debug-tag
-debug-no-tag
Consente di attivare un tipo di messaggio di debug specifico. Usa il modulo no per disattivare un tipo di messaggio di debug. Ad esempio:

emulator @Pixel8_API_34 -debug-all -debug-no-metrics

Per un elenco dei tag, usa il comando emulator -help-debug-tags.

-logcat logtags Abilita la visualizzazione dei messaggi Logcat per uno o più tag e scritture alla finestra del terminale. Ad esempio, il seguente comando abilita errori messaggi da tutti i componenti:

emulator @Pixel8_API_34 -logcat *:e

logtags usa lo stesso formato del comando adb logcat logtags. Inserisci adb logcat -help per ulteriori informazioni informazioni. Si tratta di un elenco di filtri di log separati da spazi o virgole del formato componentName:logLevel. componentName è un carattere jolly asterisco (*) o il nome di un componente, come ActivityManager, SystemServer, InputManager o WindowManager.

logLevel è uno di questi valori:

  • v - livello dettagliato
  • d - debug
  • i - informativo
  • w - livello log degli avvisi
  • e - errore
  • s - modalità silenziosa

L'esempio seguente mostra i messaggi del componente GSM nel Livello log:

emulator @Pixel8_API_34 -logcat '*:s GSM:i'

Se non fornisci l'opzione -logcat nella riga di comando, l'emulatore cerca ANDROID_LOG_TAGS variabile di ambiente. Se ANDROID_LOG_TAGS è definito con un valore logtags e non è vuoto, l'emulatore utilizza il suo valore per abilitare l'output di Logcat nel terminale per impostazione predefinita. Puoi anche reindirizzare messaggi di log uguali o di altro tipo al terminale tramite adb.

Per ulteriori informazioni informazioni su Logcat e adb, consulta Logcat a riga di comando, Visualizza e scrivi log con Logcat, Log e Issue adb comandi vocali.

-show-kernel Visualizza i messaggi di debug del kernel nella finestra del terminale. Ad esempio:

emulator @Pixel8_API_34 -show-kernel

Questa opzione viene utilizzata per verificare che il processo di avvio funzioni correttamente.

-verbose Stampa i messaggi di inizializzazione dell'emulatore nella finestra del terminale. Per esempio:

emulator @Pixel8_API_34 -verbose

Mostra i file e le impostazioni effettivamente selezionati all'avvio dispositivo virtuale definito in una durata di visualizzazione media. Questa opzione equivale a specificare -debug-init.

Rete
-dns-server servers Utilizza i server DNS specificati. servers è un elenco separato da virgole di massimo quattro nomi di server DNS o indirizzi IP. Per esempio:
emulator @Pixel8_API_34 -dns-server 192.0.2.0,
192.0.2.255

Per impostazione predefinita, l'emulatore tenta di rilevare i server DNS in uso e imposta alias speciali nella rete firewall emulata per consentire al sistema Android di connettersi direttamente ai server. Utilizza l'opzione -dns-server per specificare un elenco diverso di server DNS.

-http-proxy proxy Effettua tutte le connessioni TCP attraverso un proxy HTTP/HTTPS specificato. Se le tue deve accedere a Internet tramite un server proxy, puoi usare questo o la variabile di ambiente http_proxy per configurare il reindirizzamento appropriato. Ad esempio:

emulator @Pixel8_API_34 -http-proxy myserver:1981

proxy può essere uno dei seguenti:

http://server:port
http://username:password@server:port

La Il prefisso http:// può essere omesso.

Se questa opzione non è fornita, l'emulatore cerca l'http_proxy di ambiente e utilizza automaticamente qualsiasi valore corrispondente proxy. Per ulteriori informazioni, consulta la sezione Utilizzo l'emulatore con un proxy.

-netdelay delay

Imposta l'emulazione della latenza di rete su uno dei seguenti valori delay valori in millisecondi:

  • gsm - GSM/CSD (min 150, max 550).
  • hscsd - HSCSD (min 80, max 400).
  • gprs - GPRS (min 35, max 200).
  • edge - EDGE/EGPRS (min 80, max 400).
  • umts: UMTS/3G (min 35, max 200).
  • hsdpa: HSDPA (min 0, max 0).
  • lte - LTE (min 0, max 0).
  • evdo: EVDO (min 0, max 0).
  • none: nessuna latenza (valore predefinito (min 0, max 0).
  • num: specifica la latenza esatta.
  • min:max: specifica valori minimi e individuali e la latenza massima.

Ad esempio:

emulator @Pixel8_API_34 -netdelay gsm

L'emulatore supporta la limitazione della rete e latenze di connessione più elevate. Puoi definirla tramite la configurazione dell'interfaccia o con Opzioni ‑netspeed e -netdelay.

-netfast Disattiva la limitazione della rete. Ad esempio:

emulator @Pixel8_API_34 -netfast

Questa opzione equivale a specificare -netspeed full -netdelay none. Questi sono i valori predefiniti per queste opzioni.

-netspeed speed

Imposta l'emulazione della velocità di rete. Specifica il numero massimo di caricamenti sulla rete e velocità di download con uno dei seguenti valori speed in kbps:

  • gsm - GSM/CSD (up: 14,4, giù: 14,4).
  • hscsd - HSCSD (su: 14,4, giù: 57,6).
  • gprs - GPRS (aumento: 28,8, calo: 57,6).
  • edge - EDGE/EGPRS (aumento: 473,6, calo: 473,6).
  • umts: UMTS/3G (aumento: 384,0, calo: 384,0).
  • hsdpa - HSDPA (valore superiore: 5760,0, inferiore: 13.980,0).
  • lte - LTE (più di 58.000, meno di 173.000).
  • evdo - EVDO (aumento: 75.000, calo: 280.000).
  • full - Nessun limite, valore predefinito (più: 0,0, giù: 0,0).
  • num: specifica la velocità di caricamento e download.
  • up:down: specifica per singoli utenti in alto e in basso velocità effettiva.

Ad esempio:

emulator @Pixel8_API_34 -netspeed edge

L'emulatore supporta la limitazione della rete e latenze di connessione più elevate. Puoi definirla tramite la configurazione dell'interfaccia o con Opzioni ‑netspeed e -netdelay.

-port port Imposta il numero di porta TCP utilizzato per la console e adb. Ad esempio:

emulator @Pixel8_API_34 -port 5556

Il valore predefinito è 5554 per la prima istanza di dispositivo virtuale in esecuzione sul della tua macchina. Di solito un dispositivo virtuale occupa una coppia di porte adiacenti: e una porta adb. La console del primo dispositivo virtuale in esecuzione una determinata macchina utilizza la porta 5554 della console e la porta 5555 di adb. Successiva usano numeri di porta più elevati di due. Ad esempio, 5556/5557, 5558/5559 e così via. L'intervallo va da 5554 a 5682, consentendo l'inserimento di 64 dispositivi virtuali.

Le assegnazioni delle porte equivalgono spesso a specificare -ports port,{port + 1}. {port + 1} deve essere senza costi ed è riservato a adb. Se una delle porte della console o di adb è già in uso, l'emulatore non si avvia.

Opzione ‑port segnala le porte e il numero di serie utilizzati dal dispositivo virtuale e avvisa se si sono verificati problemi con i valori che hai fornito. Nell'interfaccia utente dell'emulatore, puoi vedi il numero di porta della console nel titolo della finestra e visualizza la porta adb numero selezionando Guida > Informazioni.

Tieni presente che se il valore port non è pari ed è nel intervallo da 5554 a 5584, il dispositivo virtuale si avvia ma non sarà visibile utilizza il comando adb devices, se adb server viene avviato dopo l'emulatore. Per questo motivo, consigliamo di utilizzare un numero di porta uniforme della console.

-ports
console-port,adb-port
Imposta le porte TCP utilizzate per la console e adb. Ad esempio:

emulator @Pixel8_API_34 -ports 5556,5559

L'intervallo di porte valide è compreso tra 5554 e 5682, consentendo l'inserimento di 64 porte virtuali simultanee dispositivi mobili. L'opzione -ports segnala le porte e il numero di serie utilizzata dall'istanza dell'emulatore e avvisa in caso di problemi con che hai fornito.

Ti consigliamo di utilizzare l'opzione -port, ove possibile. La L'opzione -ports è disponibile per le configurazioni di rete che richiedono impostazioni speciali.

Per ulteriori informazioni sulla configurazione delle porte della console e di adb, consulta le Opzione -port.

-tcpdump filepath Acquisisce i pacchetti di rete e li archivia in un file. Ad esempio:

emulator @Pixel8_API_34 -tcpdump /path/dumpfile.cap

Utilizza questa opzione per iniziare ad acquisire tutti i pacchetti di rete inviati tramite una LAN Ethernet virtuale dell'emulatore. In seguito, puoi usare uno strumento come Wireshark per analizzare il traffico.

Tieni presente che questa opzione acquisisce tutti i pacchetti Ethernet e non è limitata a TCP e connessioni a Internet.

Sistema
-accel mode Configura l'accelerazione della VM dell'emulatore. Ad esempio:

emulator @Pixel8_API_34 -accel auto

L'emulazione accelerata funziona solo per le immagini di sistema x86 e x86_64. Su Linux, fa affidamento su KVM. Su Windows e Mac, si basa su una CPU Intel e Intel HAXM conducente. Questa opzione viene ignorata se non devi emulare un dispositivo x86 o x86_64.

I valori validi per mode sono:

  • auto: determina automaticamente se l'accelerazione è supportata e quando possibile (impostazione predefinita).
  • off: disattiva completamente l'accelerazione, che è utile soprattutto per il debug.
  • on: forza l'accelerazione. Se KVM o HAXM non sono installati o utilizzabile, l'emulatore non si avvia e visualizza un messaggio di errore.

Per ulteriori informazioni, vedi Configura l'accelerazione hardware per l'emulatore Android.

-accel-check Controlla se un hypervisor richiesto per l'accelerazione della VM dell'emulatore è installato (HAXM o KVM). Ad esempio:

emulator -accel-check

Per ulteriori informazioni, vedi Controllare se è installato un hypervisor.

-engine engine

Specifica il motore dell'emulatore:

  • auto: seleziona automaticamente un motore (impostazione predefinita).
  • classic: utilizza il motore QEMU 1 precedente (deprecato).
  • qemu2 - Utilizza il motore QEMU 2 più recente.

Ad esempio:

emulator @Pixel8_API_34 -engine auto

Il rilevamento automatico deve scegliere il valore che offre le prestazioni migliori quando che emula una determinata durata di visualizzazione media. Utilizza l'opzione -engine per di debug e confronto.

-gpu mode Seleziona la modalità di emulazione GPU. Ad esempio:

emulator @Pixel8_API_34 -gpu swiftshader_indirect

Per ulteriori informazioni, vedi Configurare l'accelerazione grafica.

-no-accel Disabilita l'accelerazione della VM dell'emulatore quando si utilizza un sistema x86 o x86_64 dell'immagine. È utile solo per il debug ed equivale a specificare -accel off. Ad esempio:

emulator @Pixel8_API_34 -no-accel

Per ulteriori informazioni, vedi Configura l'accelerazione hardware per l'emulatore Android.

-nojni
-no-jni
Disattiva i controlli JNI (Java Native Interface) estesi in Dalvik Android o ART. Ad esempio:

emulator @Pixel8_API_34 -nojni

Quando avvii un dispositivo virtuale, i controlli JNI estesi sono abilitati per impostazione predefinita. Per per ulteriori informazioni, consulta JNI suggerimenti.

-selinux {disabled|permissive} Imposta Linux Security migliorato (SELinux) modulo di sicurezza in modalità disabled o permissive su un sistema operativo Linux di un sistema operativo completo. Ad esempio:

me-linux$ emulator @Pixel8_API_34 -selinux permissive

Per impostazione predefinita, SELinux è in modalità enforcing, il che significa che il criterio di sicurezza è in modo forzato. La modalità permissive carica il criterio SELinux ma non forzarne l'applicazione. Questa opzione registra solo le violazioni dei criteri. Modalità disabled disattivata il supporto kernel per SELinux.

-timezone timezone

Imposta il fuso orario per il dispositivo virtuale su timezone anziché il fuso orario dell'host. Per esempio:

emulator @Pixel8_API_34 -timezone Europe/Paris

Per impostazione predefinita, l'emulatore utilizza il fuso orario del tuo computer di sviluppo. Utilizza le funzionalità di questa opzione per specificare un fuso orario diverso o se il rilevamento automatico non funziona correttamente. Il valore timezone deve essere in zoneinfo formato area/location, ovvero area/subarea/location. Ad esempio:

  • America/Los_Angeles
  • Europe/Paris
  • America/Argentina/Buenos_Aires

Il fuso orario specificato deve trovarsi nel databasezoneinfo.

-version Mostra il numero di versione dell'emulatore. Ad esempio:

emulator @Pixel8_API_34 -version

Oppure

emulator -version
Interfaccia utente
-no-boot-anim Disattiva l'animazione all'avvio durante l'avvio dell'emulatore per un avvio più rapido. Ad esempio:

emulator @Pixel8_API_34 -no-boot-anim

Sui computer più lenti, questa opzione può accelerare notevolmente la sequenza di avvio.

-screen mode Consente di impostare la modalità touchscreen emulato. Ad esempio:

emulator @Pixel8_API_34 -screen no-touch

mode può essere uno qualsiasi dei seguenti valori:

  • touch: emula un touchscreen (impostazione predefinita).
  • multi-touch: emula uno schermo multi-touch.
  • no-touch - Disattiva lo schermo touch e multi-touch dell'emulazione.

Opzioni avanzate

Le opzioni di avvio dalla riga di comando nella seguente tabella sono disponibili, ma non di uso comune dallo sviluppatore medio di app.

Nelle descrizioni, la directory di lavoro è la directory attuale in il terminale in cui stai inserendo i comandi. Per informazioni sulla durata di visualizzazione media la directory di sistema, la directory dei dati e i file al loro interno, consulta la sezione relativa a directory e file predefiniti.

Alcune di queste opzioni sono adatte agli sviluppatori di app esterni, mentre altre vengono utilizzati principalmente dagli sviluppatori di piattaforme. Gli sviluppatori di app creano App Android ed eseguirle su durata di visualizzazione media specifica. Gli sviluppatori di piattaforme lavorano su il sistema Android ed eseguirlo nell'emulatore senza durata di visualizzazione media creata in precedenza.

Tabella 4. Opzioni avanzate della riga di comando

Opzione avanzata Breve descrizione
-bootchart timeout

Abilita il bootcharting con un timeout in secondi. Alcuni sistemi Android le immagini hanno un sistema di inizializzazione modificato che integra una struttura di bootcharting. Puoi trasmettere un il periodo di timeout di bootcharting sul sistema. Se il tuo sistema di inizializzazione non ha bootcharting attivato, l'opzione non fa nulla. Questa opzione è utile principalmente agli sviluppatori di piattaforme, non agli sviluppatori di app esterni.

Ad esempio:

emulator @Pixel8_API_34 -bootchart 120
-cache filepath

Specifica un file immagine della partizione della cache. Fornisce un nome file e un valore o un percorso relativo alla directory dei dati per configurare una cache permanente . Se il file non esiste, l'emulatore lo crea come file vuoto.

Ad esempio:

emulator @Pixel8_API_34 -cache
   ~/.android/avd/Pixel8_API_34.avd/cache_persistent.img

Se non utilizzi questa opzione, il valore predefinito è un file temporaneo denominato cache.img. Per ulteriori informazioni, vedi Dati sulla durata di visualizzazione media. Google Cloud.

-cache-size size

Imposta la dimensione della partizione cache in MB.

Ad esempio:

emulator @Pixel8_API_34 -cache-size 1000

In caso contrario questa opzione, il valore predefinito è 66 MB. Normalmente questa opzione non è necessaria per la maggior parte degli sviluppatori di app, a meno che non debbano scaricare file molto grandi e più grandi di quelli predefiniti . Per ulteriori informazioni sulla cache, consulta la directory dei dati AVD.

-data filepath

Imposta il file immagine della partizione dei dati utente. Fornisce un nome file e un assoluto o un percorso relativo alla directory di lavoro per configurare permanente dei dati utente. Se il file non esiste, l'emulatore crea un'eccezione l'immagine dal file userdata.img predefinito, la archivia nel nome file da te specificato e conserva i dati utente al momento dell'arresto.

Ad esempio:

emulator @Pixel8_API_34 -data
   ~/.android/avd/Pixel8_API_34.avd/userdata-test.img

Se non utilizzi questa opzione, il valore predefinito è un file denominato userdata-qemu.img. Per ulteriori informazioni sul file di dati utente, vedi Dati AVD Google Cloud.

-datadir dir

Specifica una directory di dati utilizzando un percorso assoluto. Per ulteriori informazioni, consulta la directory dei dati della durata di visualizzazione media.

Ad esempio:

emulator @Pixel8_API_34 -datadir
   ~/.android/avd/Pixel8_API_34.avd/mytest
-force-32bit

Utilizza l'emulatore a 32 bit su piattaforme a 64 bit. Occasionalmente, questa opzione è utile per i test o il debug. Ad esempio, si è verificato un problema in cui emulatore a volte non funzionava su Windows a 64 bit, ma a 32 bit funzionava. Questo è stata utile per eseguire confronti per eseguire il debug del problema. Ecco un esempio:

emulator @Pixel8_API_34 -force-32bit
-help-disk-images

Ricevi assistenza per le immagini disco. Questa opzione fornisce informazioni pertinenti sviluppatori di app e piattaforme. Ad esempio:

emulator -help-disk-images
-help-char-devices

Riceve assistenza sulle specifiche del carattere device. R Il parametro device è richiesto da alcune opzioni dell'emulatore. Ad esempio:

emulator -help-char-devices
-help-sdk-images

Ricevi assistenza sulle immagini disco pertinenti per gli sviluppatori di app. Questa opzione informazioni sulla posizione dei file di immagine per una durata di visualizzazione media creata con SDK. Ad esempio:

emulator -help-sdk-images
-help-build-images

Ricevi assistenza sulle immagini disco pertinenti per gli sviluppatori della piattaforma. Ad esempio:

emulator -help-build-images
-initdata filepath
-init-data filepath

Specifica la versione iniziale della partizione dati. Dopo la cancellazione dei dati dati utente, l'emulatore copia i contenuti del file specificato (per impostazione predefinita, il file userdata-qemu.img) anziché utilizzare predefinito userdata.img come versione iniziale. Specifica il parametro e un percorso assoluto o un percorso relativo alla directory di lavoro.

Ad esempio:

emulator @Pixel8_API_34 -initdata
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/userdata-test.img

Se non specifichi un percorso, il file viene inserito nella directory di sistema. Per ulteriori informazioni informazioni, consulta la directory di sistema della durata di visualizzazione media.

-kernel filepath

Utilizza un kernel emulato specifico. Se non specifichi un percorso, l'emulatore cerca nella directory di sistema.

Utilizza la Opzione ‑show‑kernel per visualizzare i messaggi di debug del kernel.

Ad esempio:

emulator @Pixel8_API_34 -kernel
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/kernel-test.img -show-kernel

Se non specifichi questa opzione, il valore predefinito è kernel-ranchu. Per ulteriori informazioni informazioni, consulta la directory di sistema della durata di visualizzazione media.

-noaudio
-no-audio

Disattiva il supporto audio per questo dispositivo virtuale. Alcuni sistemi Linux e Windows computer hanno driver audio difettosi che causano diversi sintomi, come impedendo l'avvio dell'emulatore. In questo caso, utilizza questa opzione per risolvere il problema. In alternativa, puoi utilizzare QEMU_AUDIO_DRV per modificare il backend audio.

Ad esempio:

emulator @Pixel8_API_34 -noaudio
-nocache
-no-cache

Avvia l'emulatore senza una partizione cache. Se non la utilizzi , il valore predefinito è un file temporaneo denominato cache.img. Questo è riservata agli sviluppatori di piattaforme. Per ulteriori informazioni, vedi Directory dei dati di visualizzazione media.

Ad esempio:

emulator @Pixel8_API_34 -nocache
-no-snapshot

Inibisce sia le operazioni di caricamento automatico che di salvataggio, causando la visualizzazione dell'emulatore eseguire una sequenza di avvio completa e perdere il suo stato alla chiusura. Sostituisce l'opzione -snapshot.

Ad esempio:

emulator @Pixel8_API_34 -no-snapshot
-no-snapshot-load

Impedisce all'emulatore di caricare lo stato della durata di visualizzazione media dall'archiviazione degli snapshot. Esegue un avvio completo.

Ad esempio:

emulator @Pixel8_API_34 -no-snapshot-load
-no-snapshot-save

Impedisce all'emulatore di salvare lo stato della durata di visualizzazione media nello spazio di archiviazione degli snapshot uscita, il che significa che tutte le modifiche andranno perse.

Ad esempio:

emulator @Pixel8_API_34 -no-snapshot-save
-no-snapshot-update-time

Non tenta di correggere subito l'ora di tempo di visualizzazione media al ripristino dello snapshot. Questa opzione può essere utile durante il test, in quanto evita un salto temporale improvviso. Gli aggiornamenti temporali vengono comunque inviati alla durata di visualizzazione media ogni 15 secondi circa.

Ad esempio:

emulator @Pixel8_API_34 -no-snapshot-update-time
-no-snapstorage

Avvia l'emulatore senza montare un file per archiviare o caricare lo stato forzando l'avvio completo e disattivando la funzionalità di snapshot dello stato. Questo sostituisce i valori -snapstorage e -snapshot le opzioni di CPU e memoria disponibili.

Ad esempio:

emulator @Pixel8_API_34 -no-snapstorage
-no-window

Disattiva la visualizzazione della finestra grafica sull'emulatore. Questa opzione è utile durante l'esecuzione dell'emulatore su server senza display. Puoi accedere all'emulatore tramite adb o la console. Ad esempio:

emulator @Pixel8_API_34 -no-window
-partition-size size

Specifica la dimensione della partizione dei dati di sistema in MB. Ad esempio:

emulator @Pixel8_API_34 -partition-size 1024
-prop name=value

Imposta una proprietà di sistema Android nell'emulatore all'avvio. name deve essere un nome di proprietà etichettato come qemu_prop al massimo 32 caratteri, senza spazi, e value deve essere una stringa di più di 92 caratteri. Per un esempio, vedi File property_contexts. Puoi specificare diverse opzioni ‑prop in una dall'interfaccia a riga di comando. Questa opzione può essere utile per il debug. Ad esempio:

emulator @Pixel8_API_34 -prop qemu.name=value -prop qemu.abc=xyz
-qemu args Passa argomenti al software dell'emulatore QEMU. Quando utilizzi questa opzione, assicurati che sia l'ultima specificata, in quanto tutte le opzioni successive sono interpretate come specifiche della QEMU le opzioni di CPU e memoria disponibili. Questa opzione è piuttosto avanzata e dovrebbe essere utilizzata solo dagli sviluppatori che hanno molto familiarità con QEMU e l'emulazione Android.
-qemu -h

Mostra la guida di -qemu. Ad esempio:

emulator -qemu -h
-ramdisk filepath

Specifica un'immagine di avvio ramdisk. Specifica il nome file e un percorso assoluto o un percorso relativo alla directory di lavoro.

Ad esempio:

emulator @Pixel8_API_34 -ramdisk
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/ramdisk-test.img

Se non utilizzi questa opzione, il valore predefinito è il file ramdisk.img nella directory di sistema. Per ulteriori informazioni informazioni, consulta la directory di sistema della durata di visualizzazione media.

-report-console socket

Segnala la porta della console a una terza parte remota prima di iniziare dell'emulazione. Può essere utile per uno script per il test automatizzato. socket deve utilizzare una di queste opzioni formati:

  • tcp:port[,server][,max=seconds][,ipv6]
  • unix:port[,server][,max=seconds][,ipv6]

Per ulteriori informazioni, utilizza l'opzione -help-report-console come descritto in in merito all'assistenza per opzioni specifiche.

-shell

Crea una console shell root sul terminale attuale. Questa opzione è diversa dalla adb shell nei seguenti modi:

  • Crea una shell root che ti consente di modificare molte parti di un sistema operativo completo.
  • Funziona anche se adb daemon nel sistema emulato non funziona.
  • Premi Ctrl+C (o Comando+C su macOS) per arrestare l'emulatore anziché la shell.

Ad esempio:

emulator @Pixel8_API_34 -shell
-snapshot name

Specifica il nome di uno snapshot all'interno di un file di archiviazione snapshot per le operazioni di avvio e salvataggio.

Invece di eseguire una sequenza di avvio completa, l'emulatore può riprendere l'esecuzione da uno snapshot dello stato precedente, di solito molto più velocemente. Quando fornisci questa opzione, l'emulatore carica l'istantanea con quel nome dall'immagine istantanea e la salva con lo stesso nome all'uscita.

Se non utilizzi questa opzione, il valore predefinito è una sequenza di avvio completa. Se lo snapshot specificato non esiste, dell'emulatore esegue invece una sequenza di avvio completa l'operazione di salvataggio.

Vedi l'opzione -snapstorage per informazioni su che specifica un file di archiviazione snapshot e il file predefinito.

emulator @Pixel8_API_34 -snapshot snapshot2

Ricorda che, durante il caricamento di uno snapshot, vengono sovrascritti tutti i contenuti del sistema, i dati utente e le immagini della scheda SD con i contenuti presenti al momento della creazione dello snapshot. A meno che non salvi queste informazioni in un'istantanea diversa, eventuali modifiche apportate andranno perse.

Puoi anche creare uno snapshot dalla console dell'emulatore utilizzando il metodo Comando avd snapshot save name. Per ulteriori informazioni, vedi Invia i comandi della console Emulator.

-snapshot-list

Visualizza un elenco di snapshot disponibili. Questo comando stampa una tabella di snapshot archiviati nel file di archiviazione degli snapshot su cui è stato avviato l'emulatore e poi esce. Se specifichi -snapstorage file Questo comando stampa anche una tabella degli snapshot archiviati nel file.

Ad esempio:

emulator @Pixel8_API_34 -snapshot-list -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

Puoi utilizzare i valori delle colonne ID e TAG nell'output come argomenti per l'opzione -snapshot.

-snapstorage filepath

Specifica un file di repository che contiene tutti gli snapshot dello stato. Tutti gli snapshot creati durante l'esecuzione vengono salvati in questo file. Solo Gli snapshot in questo file possono essere ripristinati durante l'esecuzione dell'emulatore.

Ad esempio:

emulator @Pixel8_API_34 -snapstorage
   ~/.android/avd/Pixel8_API_34.avd/snapshots-test.img

Se non specifichi questa opzione, il valore predefinito è snapshots.img nei dati . Se il file specificato non esiste, si avvia l'emulatore. ma senza il supporto per il salvataggio o il caricamento degli snapshot dello stato.

-sysdir dir

Specifica una directory di sistema utilizzando un percorso assoluto. Per ulteriori informazioni, consulta la directory di sistema della durata di visualizzazione media. Ad esempio:

emulator @Pixel8_API_34 -sysdir
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/test
-system filepath

Specifica un file di sistema iniziale. Fornisce il nome file e un percorso assoluto o un percorso relativo alla directory di lavoro.

Ad esempio:

emulator @Pixel8_API_34 -system
   ~/Library/Android/sdk/system-images/android-34/
   google_apis/x86_64/system-test.img

Se non utilizzi questa opzione, il valore predefinito è il file system.img nella directory di sistema. Per ulteriori informazioni informazioni, consulta la directory di sistema della durata di visualizzazione media.

-use-system-libs

Su Linux, viene utilizzato il sistema libstdc++ anziché la versione in bundle con il sistema di emulazione. Usa questa opzione solo se l'emulatore non si avvia normalmente. non sempre funziona. In alternativa, imposta il parametro ANDROID_EMULATOR_USE_SYSTEM_LIBS su 1.

Ad esempio:

me-linux$ emulator @Pixel8_API_34 -use-system-libs
-writable-system

Utilizza questa opzione per avere un'immagine di sistema scrivibile durante la sessione di emulazione. Per farlo:

  1. Avvia un dispositivo virtuale con l'opzione -writable-system.
  2. Inserisci il comando adb remount da un terminale di comando per comunicarlo l'emulatore per rimontare system/ in lettura/scrittura. Per impostazione predefinita, viene montato di sola lettura.

L'utilizzo di questo flag crea una copia temporanea dell'immagine di sistema che possono essere molto grandi, fino a diverse centinaia di MB, ma che verranno distrutti quando esce.

Opzioni deprecate

Le seguenti opzioni della riga di comando sono deprecate:

  • -audio-in
  • -audio-out
  • -charmap
  • -code-profile
  • -cpu-delay
  • -dpi-device
  • -dynamic_skin
  • -enable-kvm
  • -gps
  • -image
  • -keyset
  • -help-keys
  • -help-keyset-file
  • -nand-limits
  • -noskin
  • -no-skin
  • -onion
  • -onion-alpha
  • -onion-rotation
  • -radio
  • -ranchu
  • -raw-keys
  • -scale
  • -shared-net-id
  • -shell-serial
  • -skin
  • -skindir
  • -trace
  • -useaudio

Assistenza per le opzioni della riga di comando

Questa sezione descrive come richiedere assistenza in merito alle opzioni della riga di comando. it fornisce informazioni più approfondite sulle disponibili all'avvio della riga di comando dell'emulatore.

Elenca tutte le opzioni dell'emulatore

Per stampare un elenco di tutte le opzioni dell'emulatore, inclusa una breve descrizione, inserisci il seguente comando:

emulator -help

Ricevere assistenza dettagliata per un'opzione specifica

Per stampare la guida per un'opzione di avvio specifica, inserisci il seguente comando:

emulator -help-option

Ad esempio:

emulator -help-netspeed

Questa guida è più dettagliata rispetto alla descrizione fornita Opzione -help.

Assistenza dettagliata per tutte le opzioni

Per ricevere una guida dettagliata per tutte le opzioni dell'emulatore, inserisci il seguente comando:

emulator -help-all

Elenca le variabili di ambiente dell'emulatore

Per ottenere un elenco delle variabili di ambiente dell'emulatore, inserisci questo comando:

emulator -help-environment

Puoi impostare le variabili di ambiente nella finestra del terminale prima di avviare un dispositivo virtuale o puoi configurarlo tramite le impostazioni utente nella di un sistema operativo completo. Ad esempio, impostala nel file .bashrc su Linux.

Elenca tag di debug

Per stampare un elenco di tag per le opzioni -debug, inserisci il seguente comando:

emulator -help-debug-tags

Le opzioni di -debug consentono di attivare o disattivare i messaggi di debug da specifici componenti dell'emulatore, come specificato dai tag.