¿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 Development Usb Transferencia
- Windows no reconocerá el Galaxy S2 en absoluto
- Anulación inversa de Android o acceso a LAN o Internet mediante cable USB
- Cómo emular dispositivo de almacenamiento masivo en Emulador Genymotion
- ¿Cómo puedo comunicar un accesorio para Android con un puerto serie USB?
¿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
- Aplicaciones de Android, comunicación con un dispositivo conectado al puerto USB
- Usb atar y depurar al mismo tiempo
- Android: api a dispositivos usb externos para aplicaciones robóticas
- Cómo listar archivos en un dispositivo USB OTG
- ¿Cómo puedo desactivar la depuración de Android USB mediante programación
- Grabar audio desde el micrófono usb Android
- Interfaces perdidas de Android 5.0 Lollipop UsbDevice
- Android adb velocidad usb
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.