libusb для Android с использованием open2(, int fd)
Я скомпилировал модифицированную версию libusb для использования на устройствах Android с
https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README
Есть ли какой-нибудь пример того, как использовать эту функцию в C-программе?
- Какие заголовки нужно включить, чтобы эта библиотека работала.
- Любые примеры использования open2(, int fd) в программе на C
1 ответ
Это не новая библиотека. Только модифицированная версия libusb. Итак, все команды libusb применимы здесь. Единственным отличием будет libusb_open2, который вам придется использовать вместо libusb_open. Из файла libusb / libusb.h виден прототип libusb_open2.
int LIBUSB_CALL libusb_open2(libusb_device *dev, libusb_device_handle **handle, int fd);
Теперь, для использования libusb на Android, шаги были бы.
Сначала получите разрешения для интересующего вас USB-устройства. Подробности приведены здесь: http://developer.android.com/guide/topics/connectivity/usb/host.html
Затем извлеките файловый дескриптор USB-устройства, используя метод getFileDescriptor().
Используйте этот файловый дескриптор открытого подключения к USB-устройству. То есть сделайте libusb_device.
Теперь вы можете использовать этот libusb_device, чтобы делать все то, что можно сделать на компьютере, используя libusb. На сайте libusb приведено множество примеров.
Для других запросов вы можете тусоваться на #libusb на freenode. Для конкретных примеров, ознакомьтесь с документацией. Попробуйте сами. А если застрянет где-то, спросите здесь. Не ожидайте кормления с ложечки.