¿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.

¿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

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)

Introduzca aquí la descripción de la imagen

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.

  • getDeviceList devuelve dispositivos que ya no están conectados
  • Android: Recibe UsbDevice de intención
  • Comunicación USB de Android
  • Dispositivo Android de ADB no autorizado
  • Cómo usb -conecta dispositivos android con adb bajo ubuntu
  • Cómo obtener la pantalla táctil Resistiva USB para trabajar en Android.
  • Android Funciones USB?
  • Host USB para Android
  • Android: habilita la conexión de USB mediante programación: hay una aplicación que lo hizo por 2,3
  • Google Nexus 5 no se detecta por computadora / no aparece en el administrador de dispositivos
  • ¿Cómo instalo el controlador USB para Nexus One en Windows 7 con fines de depuración?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.