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

  • USB_DEVICE_ATTACHED sólo iniciaActividad de Galaxy S3 ICS
  • USB Host Mode - Permiso de acceso al dispositivo concedido pero no recordado
  • Android USB API: cambia entre carga y envío de datos
  • Servicio de modo de host USB Android - Inicio basado en USB_DEVICE_ATTACHED
  • getDeviceList devuelve dispositivos que ya no están conectados
  • Android Funciones USB?
  • Android Development Usb Transferencia
  • ¿Por qué este dispositivo específico no puede enumerarse por UsbManager.getDevicesList ()?
  • ¿Cómo montar la trayectoria del USB en androide?
  • ¿Hay una manera de comunicarse con dispositivos USB en Android?
  • Uso de libusb en Android sin enraizamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.