El emulador de Android está basado en QEMU . Incluso si la versión del emulador es tan antigua, parece que hay soporte para pasar dispositivos USB desde el host. Sin embargo, no parece estar disponible para dispositivos ARM, la máquina ARM emulada no tiene un controlador USB. (Ya he intentado habilitar todos los controladores de host USB para el kernel goldfish_armv7 basado en Linux 3.4, sin suerte. El kernel emulator goldfish_armv7 predeterminado ni siquiera tiene habilitado el Host USB.)
Si no está limitado a ARM y puede usar x86, entonces sugiero verificar http://www.android-x86.org/, sus imágenes se pueden utilizar con una máquina estándar QEMU i386 (o x86_64). Esto también produce un mejor rendimiento al usar la extensión KVM en Linux.
Para PASSTHROUGH un dispositivo USB con el de la identificación del vendedor 1234 Identificación y el dispositivo ABCD, puede ejecutar el comando emulador:
emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd
O, cuando se utiliza QEMU:
qemu-system-i386 -m 1G -cdrom android-x86.iso -usb -usbdevice host:1234:abcd
Necesitará permisos de lectura/escritura para /dev/bus/usb/XXX/YYY
, para eso puede crear una regla de udev como:
SUBSYSTEM!="usb", GOTO="end_skip_usb"
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="abcd", TAG+="uaccess"
LABEL="end_skip_usb"
Ahora, al insertar el dispositivo USB, su emulador debería reconocer un dispositivo USB. Esto se prueba para una instalación de Linux con un Android x86 4.3 imagen.
Por supuesto que es posible. – rolls