You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac使用QEMU为Android模拟器配置USB透传失败问题咨询

报错根因

你遇到的'usb-host' is not a valid device model name报错,核心原因是M1芯片适配的官方Android模拟器自带的qemu-system-aarch64二进制为裁剪编译版本,编译阶段未开启USB_HOST模块支持,也未内置对应依赖,仅手动安装系统级libusb无法让QEMU识别usb-host设备参数。

解决方法

方案一:替换自行编译的带USB透传支持的QEMU

  • 先通过Homebrew安装编译依赖:
    brew install libusb pkg-config glib pixman
    
  • 下载对应版本QEMU源码,编译时添加参数--enable-libusb --enable-usb-redir开启USB_HOST支持
  • 进入Android SDK的emulator/qemu/darwin-aarch64/路径,备份原有qemu-system-aarch64二进制,将编译完成的新二进制替换进去,保留文件执行权限
  • 修正启动命令参数:M1版本模拟器默认使用xhci总线而非ehci,将原命令里的bus=ehci.0改为bus=xhci.0,最终命令为:
    ./emulator -avd 你的模拟器名称 -qemu -device usb-host,bus=xhci.0,vendorid=0x045e,productid=0x0b00
    

方案二:使用社区预编译的适配版模拟器

直接下载开源社区维护的M1适配Android模拟器,这类版本大多已经内置了开启USB_HOST支持的QEMU二进制,无需自行编译替换。

注意事项

  • 启动模拟器前要先给终端授予USB设备访问权限,路径为「系统偏好设置-安全性与隐私」,权限未开启的情况下即使QEMU支持也无法读取USB设备
  • 透传前可执行system_profiler SPUSBDataType确认目标USB设备的vendorid和productid是否正确,避免参数填错
  • 替换完成后可执行./emulator/qemu/darwin-aarch64/qemu-system-aarch64 -device help,查看返回的设备列表中是否存在usb-host项,确认替换是否生效

内容的提问来源于stack exchange,提问作者Jonathan Kats

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:06:00