Gav*_*vin 28 usb android android-emulator android-3.0-honeycomb
我们一直在研究Android 3.1+及其读取/写入连接到OTG /主机端口的USB设备的能力.
我找到了一些代码示例,允许我检测和读/写USB HID设备,但目前,我根本没有物理3.1+兼容设备来部署和远程调试.
有谁知道如何通过PC/Eclipse将我的HID设备连接到模拟器,以便应用程序可以检测和读取/写入设备?
我已经尝试列出当前连接的USB设备,但它没有显示,因为你毫无疑问会猜测.
有任何想法吗?
干杯
Lek*_*eyn 12
Android模拟器基于QEMU.即使仿真器版本如此古老,似乎也支持从主机传递USB设备.它似乎不适用于ARM设备,但模拟的ARM机器没有USB控制器.(我已经尝试为基于Linux 3.4的goldfish_armv7内核启用所有USB主机控制器,没有运气.默认模拟器goldfish_armv7内核甚至没有启用主机USB.)
如果您不限于ARM并且可以使用x86,那么我建议查看http://www.android-x86.org/,其图像可以与标准QEMU i386(或x86_64)机器一起使用.通过在Linux上使用KVM扩展,这也可以获得更好的性能.
要通过供应商ID为1234且设备ID为abcd的USB设备,您可以运行模拟器命令:
emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd
Run Code Online (Sandbox Code Playgroud)
或者,使用QEMU时:
qemu-system-i386 -m 1G -cdrom android-x86.iso -usb -usbdevice host:1234:abcd
Run Code Online (Sandbox Code Playgroud)
您将需要读/写权限/dev/bus/usb/XXX/YYY
,为此您可以创建一个udev规则,例如:
SUBSYSTEM!="usb", GOTO="end_skip_usb"
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="abcd", TAG+="uaccess"
LABEL="end_skip_usb"
Run Code Online (Sandbox Code Playgroud)
现在,插入USB设备后,您的仿真器应识别USB设备.这是针对具有Android x86 4.3映像的Linux安装进行测试的.
AFAIK这是不可能的.Android模拟器不能模拟真实设备中存在的许多东西......但这让我想起了通过蓝牙运行ADB的尝试.
这不是一个直接的正面回答你的问题,但也许它可以帮助你找到一个解决办法的办法,我没有:安装在x86物理上网本(双启动)的"模拟器",使用中提到的链接我的帖子给通过WiFi或蓝牙完成您想要做的事情.
希望这可以帮助.
归档时间: |
|
查看次数: |
49434 次 |
最近记录: |