¿Conectar el dispositivo USB al emulador de Android?
Hemos estado buscando en Android 3.1 y su capacidad de leer / escribir en dispositivos USB conectados al puerto OTG / Host.
He encontrado algunos ejemplos de código que me permiten detectar y leer / escribir en un dispositivo USB HID, pero por el momento, simplemente no tengo un dispositivo físico 3.1+ compatible para implementar y depurar remotamente.
- Android USB Host - bulkTransfer () está perdiendo datos
- Conectar el dispositivo Android con el dispositivo Puerto virtual COM
- Escribir datos en USB HID usando Javascript, HTML5 o cualquier lenguaje de plataforma cruzada (compatible con Android)
- Dibujando potencia desde el dispositivo USB a la tableta de Android a través del cable OTG
- HP TouchPad USB conduce en Android
¿Alguien sabe cómo puedo adjuntar mi dispositivo HID al emulador, a través de la PC / Eclipse para que la aplicación puede detectar y leer / escribir en / desde el dispositivo?
He intentado enumerar los dispositivos USB conectados actualmente pero no demuestra ninguno, como usted lo haría sin duda adivinar.
¿Algunas ideas?
Aclamaciones
- Compila y enlaza contra libusb para android
- Cómo usb -conecta dispositivos android con adb bajo ubuntu
- Android USB OTG: por programación, apague la alimentación del puerto
- Comunicación con el host USB de Android
- Controlador Prestigio Multipad PMP3370B USB
- Tarjeta SD no disponible mientras está en modo de depuración USB en DroidX
- ¿Cómo cambiar el modo de conexión USB de Android para cargar solo?
- Android - ¿Es posible leer el archivo de la computadora portátil usando la conexión USB en la aplicación mediante programación?
AFAIK esto no es posible. Los emuladores de Android no emulan muchas cosas que existen en dispositivos reales … pero esto me recuerda a un intento de ejecutar ADB sobre Bluetooth .
Esta no es una respuesta positiva directa a su pregunta, pero tal vez puede ayudarle a encontrar una solución de la manera que lo hice: Instale un "emulador" en un netbook físico x86 (arranque dual) y utilice los enlaces a los que se hace referencia en mis mensajes para Lograr lo que está intentando hacer a través de WiFi o Bluetooth.
Espero que esto ayude.
El emulador de Android se basa en QEMU. Incluso si la versión del emulador es tan antigua, parece haber soporte para pasar dispositivos USB desde el host. No parece estar disponible para los dispositivos ARM sin embargo, la emulación de la máquina ARM 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 emulador por defecto goldfish_armv7 kernel ni siquiera tiene USB Host habilitado).
Si no está limitado a ARM y puede usar x86, entonces sugiero que revise http://www.android-x86.org/ , sus imágenes se pueden usar con una máquina estándar QEMU i386 (o x86_64). Esto también proporciona un mejor rendimiento mediante el uso de la extensión KVM en Linux .
Para pasar a través de un dispositivo USB con ID de proveedor 1234 y ID de dispositivo abcd , puede ejecutar el comando emulador:
emulator -avd x86-machine -qemu -usb -usbdevice host:1234:abcd
O, al usar 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 ello puede crear una regla 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 debe reconocer un dispositivo USB. Esto se prueba para una instalación de Linux con una imagen Android x86 4.3.
Tengo la búsqueda alrededor de su problema y encontrado pasos para conectar el dispositivo del usb al emulador
Espero que te sea de utilidad
Cree la máquina virtual de android en virtualBox o el jugador del vm con esta imagen
Conectar usb y conectar con eclipse utilizando adb connect (ur dispositivo ip)
Tal vez este video puede ayudar: http://www.youtube.com/watch?v=F984AJL6p2Q
El enlace de GitHub en la descripción no está disponible pero quizá le trae a la dirección correcta.