Próbuję komunikować się z urządzeniem USB ze smartfonu opartego na systemie Android przez OTG. Udało mi się komunikować z moim urządzeniem za pomocą interfejsu Android USB Host API. Problemem rozwiązania USB Host Host jest wydajność (pojedynczy transfer zbiorczy ograniczony 16384 bajtami).Używanie libusb na Androida bez zrootowania
Libusb może wykonywać większe żądania, a teraz próbuję zintegrować go za pomocą Android NDK. Udało mi się skompilować źródła libusb dla Androida, a nawet initUSB()
, ale libusb_open(dev, &dev_handle)
zwraca -3 (Odmowa dostępu).
Jak mogę przekazać deskryptor
int fd = connection.getFileDescriptor()
do libusb po otrzymaniu USB_PERMISSION pod Android USB Host API i uzyskać dostęp do urządzenia USB pod libusb?
spróbuj tego widelca libusb https://github.com/martinmarinov/rtl_tcp_andro-/tree/master/jni/libusb-andro. ma funkcję open2 (, int fd) dla tego głosowania – 4ntoine
, aby uzyskać dobre wyjaśnienie od zespołu android: https://code.google.com/p/android/issues/detail?id=56450 – 4ntoine