【发布时间】:2013-04-24 12:19:50
【问题描述】:
我正在尝试通过 OTG 从基于 Android 的智能手机与 USB 设备进行通信。我能够使用 Android USB Host API 与我的设备进行通信。 USB Host API 解决方案的问题在于性能(单次批量传输以 16384 字节为界)。
libusb 可以执行更大的请求,现在我正在尝试使用 Android NDK 集成它。我成功编译了适用于 Android 甚至 initUSB() 的 libusb 源代码,但 libusb_open(dev, &dev_handle) 返回 -3(拒绝访问)。
如何传递文件描述符
int fd = connection.getFileDescriptor()
在 Android USB Host API 下获得 USB_PERMISSION 后到 libusb 并在 libusb 下获得 USB 设备访问权限?
【问题讨论】:
-
试试这个 libusb fork github.com/martinmarinov/rtl_tcp_andro-/tree/master/jni/…。它为此具有 open2(, int fd) 函数
-
投票以获得android团队的良好解释:code.google.com/p/android/issues/detail?id=56450
标签: android permissions android-ndk usb libusb