進階模擬器網路功能

Android Emulator 內含網路模擬器,可讓您在不使用實體無線電的情況下,開發及測試 Android 應用程式。

本頁說明如何使用指令列選項,控管網路模擬器的功能。

從指令列啟動模擬器時,請使用模擬器旗標中的 -netsim-args 旗標,將引數傳遞至網路模擬器。

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

舉例來說,如要啟用封包擷取和記錄功能,並設定特定 HCI 連接埠,可以使用下列指令:

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

Netsim 設定

這些旗標可控制 netsim 精靈的一般行為和設定。

  • -l, --logtostderr:設定記錄訊息是否要傳送至 stderr,而非記錄檔。方便直接在模擬器輸出內容中查看記錄。
  • -v, --verbose:啟用詳細模式。這個模式會列印更詳細的記錄,有助於偵錯複雜問題。
  • --hci-port <HCI_PORT>:設定自訂 HCI 連接埠。這項功能可用於執行多個模擬器,或連線至特定 HCI 連接埠。

指定構件目錄

如要指定網路模擬器構件的目錄,請設定環境變數 $ANDROID_TMP

export ANDROID_TMP=/path/to/your/directory

網路模擬器會將構件儲存在下列目錄: $ANDROID_TMP/android/netsimd/。如果設定了環境變數 $USER,網路模擬器會將構件儲存在 $ANDROID_TMP/android{-$USER}/netsimd/ 中。

擷取網路封包

如要啟用封包擷取功能,請搭配模擬器使用 --pcap 引數。

emulator -netsim-args="--pcap"

這項功能有助於偵錯網路問題及分析流量。網路模擬器會為每個無線電晶片儲存封包擷取 (pcap) 檔案。您可以使用 Wireshark 等工具開啟這些檔案。網路模擬器會將封包擷取檔案儲存在 netsimd 構件目錄的 pcap 子目錄中。

設定 Wi-Fi 存取點 (自訂 SSID 和加密)

如要設定 Wi-Fi 存取點,請搭配模擬器使用 --wifi 引數。 例如:

emulator -netsim-args="--wifi <SSID> <PASSWORD>"
  • SSID:網路名稱。
  • PASSWORD:網路密碼為選填項目,且必須包含 8 個以上的字元;設定後,存取點會以 WPA2 (CCMP) 加密。

設定接收訊號強度 (RSSI)

網路模擬器支援使用 --rssi 旗標,為特定無線電設定特定 RSSI 值。

emulator -netsim-args="--rssi <PHY_KIND:RSSI_VALUE>"
  • PHY_KIND:藍牙無線電類型 (例如 blebt_classic)。這個參數支援不區分大小寫的別名。
  • RSSI_VALUE:RSSI 值,為 i8 (整數)。

舉例來說,下列指令會將 BLE 流量的 RSSI 設為 -65 dBm:

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

您可以針對不同無線電多次指定這個旗標 (例如 --rssi=bt_classic:-65 --rssi=ble:-72)。