問題背景
通過 USB 轉串口連接 nRF24L01 模塊到電腦,在 Android 模擬器中調試,詢問是否需在模擬器內安裝 Android 驅動程序。
直接回答
不需要。
原因分析
- Android 模擬器運行在宿主機(Windows/Linux/macOS)上,硬件訪問通過宿主機內核/驅動轉發。
- USB 設備由宿主機驅動程序管理,模擬器通過
qemu 的 USB 直通功能將設備映射給客機系統。
- 模擬器內的 Android 系統只需具備對應的內核驅動(通常已內置 CDC-ACM、FTDI 等串口驅動),無需額外安裝 APK 形式的驅動。
正確操作步驟
- 宿主機安裝 USB 轉串口芯片驅動(CH340、CP2102、FT232 等)。
- 在模擬器啟動參數中啟用 USB 直通:
-usb -device usb-host,vendorid=0xXXXX,productid=0xXXXX 或 GUI 設置。
- 模擬器內通過
/dev/ttyUSB0 或 /dev/ttyACM0 訪問設備。
- 應用層使用 Android USB Host API 或 JNI 調用原生串口庫通信。
注意事項
- 模擬器 USB 直通在 Windows 上較不穩定,建議 Linux 宿主機開發。
- 真機調試時才需考慮 Android 端驅動權限(USB Host API 需
uses-feature android.hardware.usb.host)。