Erweiterte Emulatornetzwerkfunktionen

Der Android-Emulator enthält einen Netzwerk-Simulator, mit dem Sie Android-Apps entwickeln und testen können, ohne physische Funkgeräte zu verwenden.

Auf dieser Seite werden Befehlszeilenoptionen zum Steuern von Funktionen des Netzwerk-Simulators beschrieben.

Wenn Sie einen Emulator über die Befehlszeile starten, verwenden Sie das Flag -netsim-args in den Emulator-Flags, um Argumente an den Netzwerksimulator zu übergeben.

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

Wenn Sie beispielsweise die Paketerfassung und das Logging aktivieren und einen bestimmten HCI-Port festlegen möchten, können Sie Folgendes verwenden:

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

Netsim-Konfigurationen

Diese Flags steuern das allgemeine Verhalten und die Einrichtung des Netsim-Daemons.

  • -l, --logtostderr: Legen Sie fest, ob Logmeldungen an stderr anstelle von Logdateien gesendet werden. Nützlich, um Logs direkt in der Emulatorausgabe zu sehen.
  • -v, --verbose: Ausführlichen Modus aktivieren. In diesem Modus werden detailliertere Logs ausgegeben, was für das Debugging komplexer Probleme nützlich ist.
  • --hci-port <HCI_PORT>: Legen Sie einen benutzerdefinierten HCI-Port fest. Nützlich, wenn Sie mehrere Emulatoren ausführen oder eine Verbindung zu einem bestimmten HCI-Port herstellen möchten.

Verzeichnis für Artefakte angeben

Wenn Sie ein Verzeichnis für die Artefakte des Netzwerksimulators angeben möchten, legen Sie die Umgebungsvariable $ANDROID_TMP fest:

export ANDROID_TMP=/path/to/your/directory

Der Netzwerksimulator speichert die Artefakte im folgenden Verzeichnis: $ANDROID_TMP/android/netsimd/. Wenn die Umgebungsvariable $USER festgelegt ist, speichert der Netzwerksimulator die Artefakte in $ANDROID_TMP/android{-$USER}/netsimd/.

Netzwerkpakete erfassen

Verwenden Sie das Argument --pcap mit dem Emulator, um die Paketerfassung zu aktivieren.

emulator -netsim-args="--pcap"

Diese Funktion ist nützlich, um Netzwerkprobleme zu beheben und den Traffic zu analysieren. Der Netzwerksimulator speichert für jeden Funkchip eine Paketaufzeichnungsdatei (pcap). Sie können diese Dateien mit Tools wie Wireshark öffnen. Der Netzwerksimulator speichert die Dateien mit der Paketerfassung im Unterverzeichnis pcap des Artefaktverzeichnisses netsimd.

WLAN-Zugangspunkt konfigurieren (benutzerdefinierte SSID und Verschlüsselung)

Wenn Sie einen WLAN-Zugangspunkt konfigurieren möchten, verwenden Sie das Argument --wifi mit dem Emulator. Beispiel:

emulator -netsim-args="--wifi <SSID> <PASSWORD>"
  • SSID: Der Name des Netzwerks.
  • PASSWORD: Das Netzwerkpasswort ist optional und muss mindestens 8 Zeichen lang sein. Wenn es festgelegt ist, wird der Zugriffspunkt mit WPA2 (CCMP) verschlüsselt.

Empfangssignalstärke (RSSI) festlegen

Der Netzwerksimulator unterstützt das Festlegen bestimmter RSSI-Werte für ein bestimmtes Funkgerät mit dem Flag --rssi.

emulator -netsim-args="--rssi <PHY_KIND:RSSI_VALUE>"
  • PHY_KIND: Der Typ des Bluetooth-Funkgeräts (z.B. ble, bt_classic). Bei diesem Parameter wird die Groß- und Kleinschreibung nicht berücksichtigt.
  • RSSI_VALUE: Der RSSI-Wert, ein i8 (Ganzzahl).

Mit dem folgenden Befehl wird beispielsweise der RSSI für BLE-Traffic auf -65 dBm festgelegt:

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

Sie können dieses Flag mehrmals für verschiedene Funkgeräte angeben (z.B. --rssi=bt_classic:-65 --rssi=ble:-72).