Эмулятор Android основан на QEMU.Даже если версия эмулятора настолько древняя, кажется, есть поддержка для передачи USB-устройств с хоста.Кажется, он недоступен для устройств ARM, хотя эмулируемая машина ARM не имеет контроллера USB.(Я уже пытался включить все хост-контроллеры USB для ядра goldfish_armv7 на базе Linux 3.4, но безуспешно. В ядре эмулятора по умолчанию goldfish_armv7 даже не включен Host USB.)
Если вы не ограничены ARM иможно использовать x86, тогда я предлагаю проверить http://www.android -x86.org / , его изображения можно использовать на стандартном компьютере QEMU i386 (или x86_64).Это также повышает производительность благодаря использованию расширения KVM в Linux .
Для передачи USB-устройства с идентификатором поставщика 1234 и идентификатором устройства abcd , вы можете запустить команду эмулятора:
emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd
Или, при использовании QEMU:
qemu-system-i386 -m 1G -cdrom android-x86.iso -usb -usbdevice host:1234:abcd
Вам понадобятся разрешения на чтение / запись для /dev/bus/usb/XXX/YYY
, для этого вы можете создатьправило udev, например:
SUBSYSTEM!="usb", GOTO="end_skip_usb"
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="abcd", TAG+="uaccess"
LABEL="end_skip_usb"
Теперь, после вставки USB-устройства, ваш эмулятор должен распознавать USB-устройство.Это проверено для установки Linux с образом Android x86 4.3.