Я пытаюсь установить связь с устройством USB с Android-смартфона через OTG. Мне удалось связаться с моим устройством с помощью Android Host Host API. Проблема решения USB Host API - это производительность (единый массовый перенос, ограниченный 16384 байтами).Использование libusb на Android без укорачивания
libusb может выполнять большие запросы, и теперь я пытаюсь интегрировать его с помощью Android NDK. Мне удалось собрать источники libusb для Android и даже initUSB()
, но libusb_open(dev, &dev_handle)
возвращает -3 (Access denied).
Как я могу передать дескриптор файла
int fd = connection.getFileDescriptor()
к libusb после получения USB_PERMISSION под Android USB хост API и получить доступ к устройствам USB под libusb?
попробуйте эту версию libusb https://github.com/martinmarinov/rtl_tcp_andro-/tree/master/jni/libusb-andro. он имеет функцию open2 (, int fd) для этого голосования – 4ntoine
, чтобы получить хорошее объяснение от команды android: https://code.google.com/p/android/issues/detail?id=56450 – 4ntoine