Android emulator oparty jest na QEMU . Nawet jeśli wersja emulatora jest tak stara, wydaje się, że istnieje wsparcie dla przekazywania urządzeń USB z hosta. Wydaje się jednak, że nie jest on dostępny dla urządzeń ARM, ale emulowane urządzenie ARM nie ma kontrolera USB. (Już próbowałem włączyć wszystkie kontrolery hosta USB dla jądra goldfish_armv7 opartego na Linuxie 3.4 bez powodzenia Domyślny emulator goldfish_armv7 jądro nie ma nawet włączonego hosta USB.)
Jeśli nie jesteś ograniczony do ARM i możesz użyć x86, a następnie sugeruję, aby sprawdzić http://www.android-x86.org/, jego obrazy mogą być używane ze standardową maszynąi386 (lub x86_64). Zapewnia to również lepszą wydajność przy użyciu rozszerzenia KVM pod numerem Linux.
Aby Passthrough urządzenia USB z od dostawcy ID 1234 ID i urządzenie abcd, można uruchomić komendę emulatora:
emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd
Lub, jeżeli używany QEMU:
qemu-system-i386 -m 1G -cdrom android-x86.iso -usb -usbdevice host:1234:abcd
Będziesz potrzebować uprawnień do odczytu/zapisu dla /dev/bus/usb/XXX/YYY
, ponieważ możesz utworzyć regułę udev, taką jak:
SUBSYSTEM!="usb", GOTO="end_skip_usb"
ATTRS{idVendor}=="1234", ATTRS{idProduct}=="abcd", TAG+="uaccess"
LABEL="end_skip_usb"
Teraz, po podłączeniu urządzenia USB, emulator powinien rozpoznać urządzenie USB. Zostało to przetestowane pod kątem instalacji systemu Linux z systemem Android x86 4.3 obraz.
Oczywiście, że jest to możliwe. – rolls