Подтвердить что ты не робот

Подключить устройство USB к эмулятору Android?

Мы изучали Android 3.1+ и его способность читать/записывать на устройства USB, подключенные к порту OTG/Host.

Я нашел несколько примеров кода, которые позволяют мне обнаруживать и читать/записывать на USB-HID-устройство, но на данный момент у меня просто нет физического устройства, совместимого с 3.1+, для развертывания и удаленной отладки.

Кто-нибудь знает, как я могу подключить свое устройство HID к эмулятору через ПК /Eclipse, чтобы приложение могло обнаруживать и читать/записывать на/с устройства?

Я пробовал перечислять подключенные USB-устройства, но он ничего не показывает, поскольку вы, несомненно, догадались бы.

Любые идеи?

Приветствия

4b9b3361

Ответ 1

Эмулятор 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.

Ответ 2

AFAIK это невозможно. Эмуляторы Android не эмулируют многие вещи, которые существуют в реальных устройствах... но это напоминает мне о попытке запускать ADB через Bluetooth.

Это не прямой положительный ответ на ваш вопрос, но, возможно, он может помочь вам найти обходной путь так, как я это сделал: установите "эмулятор" на физическом нетбуке x86 (с двойной загрузкой) и используйте ссылки, упомянутые в мои сообщения, чтобы выполнить то, что вы пытаетесь сделать через Wi-Fi или Bluetooth.

Надеюсь, что это поможет.

Ответ 3

Создайте виртуальную машину Android на виртуальном боксе или vm-проигрывателе с помощью изображение

подключить usb и подключиться к eclipse с помощью adb connect (ur device ip)

enter image description here