Funzionalità di networking avanzate dell'emulatore

L'emulatore Android include un simulatore di rete che ti consente di sviluppare e testare app per Android senza utilizzare radio fisiche.

Questa pagina descrive le opzioni della riga di comando per controllare le funzionalità del simulatore di rete.

Quando avvii un emulatore dalla riga di comando, utilizza il flag -netsim-args nei flag dell'emulatore per passare argomenti al simulatore di rete.

emulator -netsim-args="arg1 [arg2 ...]"

Ad esempio, per attivare l'acquisizione di pacchetti, la registrazione e impostare una porta HCI specifica, puoi utilizzare:

emulator -netsim-args="--pcap --logtostderr --verbose --hci-port 12345"

Configurazioni Netsim

Questi flag controllano il comportamento generale e la configurazione del daemon netsim.

  • -l, --logtostderr: imposta se i messaggi di log vengono inviati a stderr anziché ai file di log. Utile per visualizzare i log direttamente nell'output dell'emulatore.
  • -v, --verbose: attiva la modalità dettagliata. Questa modalità stampa log più dettagliati, utili per il debug di problemi complessi.
  • --hci-port <HCI_PORT>: imposta una porta HCI personalizzata. Utile per eseguire più emulatori o connettersi a una porta HCI specifica.

Specifica la directory per gli artefatti

Per specificare una directory per gli artefatti del simulatore di rete, imposta la variabile di ambiente $ANDROID_TMP:

export ANDROID_TMP=/path/to/your/directory

Il simulatore di rete salva gli artefatti nella seguente directory: $ANDROID_TMP/android/netsimd/. Se la variabile di ambiente $USER è impostata, il simulatore di rete salva gli artefatti in $ANDROID_TMP/android{-$USER}/netsimd/ .

Acquisire pacchetti di rete

Per attivare l'acquisizione dei pacchetti, utilizza l'argomento --pcap con l'emulatore.

emulator -netsim-args="--pcap"

Questa funzionalità è utile per il debug dei problemi di rete e l'analisi del traffico. Il simulatore di rete salva un file di acquisizione pacchetti (pcap) per ogni chip radio. Puoi aprire questi file con strumenti come Wireshark. Il simulatore di rete salva i file di acquisizione dei pacchetti nella sottodirectory pcap della directory netsimd artifacts.

Configura il punto di accesso Wi-Fi (SSID e crittografia personalizzati)

Per configurare un punto di accesso Wi-Fi, utilizza l'argomento --wifi con l'emulatore. Ad esempio:

emulator -netsim-args="--wifi <SSID> <PASSWORD>"
  • SSID: il nome della rete.
  • PASSWORD: la password di rete è facoltativa e deve contenere almeno 8 caratteri; se impostata, il punto di accesso verrà criptato con WPA2 (CCMP).

Imposta l'intensità del segnale ricevuto (RSSI)

Il simulatore di rete supporta l'impostazione di valori RSSI specifici per una radio specifica con il flag --rssi.

emulator -netsim-args="--rssi <PHY_KIND:RSSI_VALUE>"
  • PHY_KIND: il tipo di radio Bluetooth (ad es. ble, bt_classic). Questo parametro supporta gli alias senza distinzione tra maiuscole e minuscole.
  • RSSI_VALUE: il valore RSSI, un numero intero i8.

Ad esempio, il seguente comando imposta l'RSSI per il traffico BLE su -65 dBm:

emulator -netsim-args="--rssi=ble:-65"

Puoi specificare questo flag più volte per radio diverse (ad es. --rssi=bt_classic:-65 --rssi=ble:-72).