Uso de libusb en Android sin enraizamiento

Estoy tratando de comunicarse con el dispositivo USB desde el teléfono inteligente basado en Android a través de OTG. Pude comunicarme con mi dispositivo usando la API de host USB de Android. El problema de la solución USB Host API es el rendimiento (transferencia única en masa limitada por 16384 bytes).

El libusb puede realizar peticiones más grandes y ahora estoy intentando integrarlo usando Android NDK. He logrado compilar fuentes libusb para Android e incluso initUSB() , pero libusb_open(dev, &dev_handle) devuelve -3 (Acceso denegado).

¿Cómo puedo pasar el descriptor de archivo

 int fd = connection.getFileDescriptor() 

A libusb después de obtener USB_PERMISSION bajo Android USB Host API y obtener acceso a dispositivos USB bajo libusb?

Esto es lo que estás buscando.
https://github.com/kuldeepdhaka/libusb/tree/android-open2
Sólo compilarlo y dejarlo en.
Consulte la sección "Cómo hacerlo para Android" para obtener un uso completo.

Hice toda la modificación requerida a libusb (y también lo estoy usando).
Tiene la corrección de SELinux para "Android 5.0" + también.

  • Android como anfitrión de ATtiny85 Digispark
  • Windows no reconocerá el Galaxy S2 en absoluto
  • Cómo cargar mi aplicación de Eclipse a mi teléfono Android en lugar de AVD
  • Comunicación entre PhoneGap, dispositivo externo usb y modo host Android
  • No se pueden obtener los elementos en la herramienta uiautomator cuando la aplicación se ejecuta en el dispositivo
  • USB_DEVICE_ATTACHED Intento de no disparar
  • ¿Conectar el dispositivo USB al emulador de Android?
  • NullPointerException de UsbManager
  • ¿Es posible detectar la depuración USB en los dispositivos Android?
  • Eclipse Android SDK no puede ver el nuevo dispositivo Samsung Galaxy S4 a través de una conexión USB
  • Transferencia de datos isocrónica USB Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.