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:藍牙無線電類型 (例如ble、bt_classic)。這個參數支援不區分大小寫的別名。RSSI_VALUE:RSSI 值,為 i8 (整數)。
舉例來說,下列指令會將 BLE 流量的 RSSI 設為 -65 dBm:
emulator -netsim-args="--rssi=ble:-65"
您可以針對不同無線電多次指定這個旗標 (例如 --rssi=bt_classic:-65 --rssi=ble:-72)。