ฟีเจอร์การสร้างเครือข่ายโปรแกรมจำลองขั้นสูง

โปรแกรมจำลอง Android มีเครื่องจำลองเครือข่ายที่ช่วยให้คุณพัฒนาและทดสอบ แอป Android ได้โดยไม่ต้องใช้วิทยุจริง

หน้านี้อธิบายตัวเลือกบรรทัดคำสั่งสำหรับการควบคุมฟีเจอร์ของโปรแกรมจำลองเครือข่าย

เมื่อเริ่มโปรแกรมจำลองจากบรรทัดคำสั่ง ให้ใช้ Flag -netsim-args ในFlag ของโปรแกรมจำลองเพื่อส่งอาร์กิวเมนต์ไปยังเครื่องจำลองเครือข่าย

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

ตัวอย่างเช่น หากต้องการเปิดใช้การดักจับแพ็กเก็ต การบันทึก และตั้งค่าพอร์ต HCI ที่เฉพาะเจาะจง คุณ สามารถใช้คำสั่งต่อไปนี้

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

การกำหนดค่า Netsim

โดย Flag เหล่านี้จะควบคุมลักษณะการทำงานและการตั้งค่าทั่วไปของ Daemon 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 โปรแกรมจำลองเครือข่ายจะบันทึกไฟล์การดักจับแพ็กเก็ตในไดเรกทอรีย่อย pcap ของไดเรกทอรี netsimd อาร์ติแฟกต์

กำหนดค่าจุดเข้าใช้งาน 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 (จำนวนเต็ม)

ตัวอย่างเช่น คำสั่งต่อไปนี้จะตั้งค่า RSSI สำหรับการรับส่งข้อมูล BLE เป็น -65 dBm

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

คุณระบุแฟล็กนี้ได้หลายครั้งสำหรับวิทยุที่แตกต่างกัน (เช่น --rssi=bt_classic:-65 --rssi=ble:-72)