libusb для Android с использованием open2(, int fd)

Я скомпилировал модифицированную версию libusb для использования на устройствах Android с

https://github.com/martinmarinov/rtl_tcp_andro-/blob/master/jni/libusb-andro/README

Есть ли какой-нибудь пример того, как использовать эту функцию в C-программе?

  1. Какие заголовки нужно включить, чтобы эта библиотека работала.
  2. Любые примеры использования 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, шаги были бы.

  1. Сначала получите разрешения для интересующего вас USB-устройства. Подробности приведены здесь: http://developer.android.com/guide/topics/connectivity/usb/host.html

  2. Затем извлеките файловый дескриптор USB-устройства, используя метод getFileDescriptor().

  3. Используйте этот файловый дескриптор открытого подключения к USB-устройству. То есть сделайте libusb_device.

Теперь вы можете использовать этот libusb_device, чтобы делать все то, что можно сделать на компьютере, используя libusb. На сайте libusb приведено множество примеров.

Для других запросов вы можете тусоваться на #libusb на freenode. Для конкретных примеров, ознакомьтесь с документацией. Попробуйте сами. А если застрянет где-то, спросите здесь. Не ожидайте кормления с ложечки.

Другие вопросы по тегам