J'essaie d'utiliser libusb
sur le Nexus 5 non rooté comme indiqué dans this approach (en transférant le descripteur de fichier usb de java vers le côté natif).Android L | libusb_init renvoie LIBUSB_ERROR_OTHER (-99)
Mon application demande l'autorisation via UsbManager.requestPermission
, puis exécute la méthode native qui appelle libusb_init
pour créer libusb_context
.
Mais libusb_init
renvoie le code LIBUSB_ERROR_OTHER
(-99). Après avoir creusé le code, je vois pourquoi cela arrive. libusb signale 'could not find usbfs'
car opendir("/dev/bus/usb")
renvoie 0
.
également de adb shell
Je ne peux pas effectuer ls /dev
, étrange parce que j'ai des droits (sur Huawei U8950-1 avec les mêmes droits que je peux le faire):
drwxr-xr-x root root 2014-09-04 10:26 dev
Ressemble approche décrite ci-dessous travail pas pour tous les appareils Android. Quelqu'un peut-il expliquer pourquoi?
Merci pour la réponse, mais j'ai préféré https: // github.com/Gritzman/libusb parce que les solutions de Gritzman ont été implémentées sans modifier 'libusb.h' – CAMOBAP
@CAMOBAP J'essaie d'utiliser la version de libusb de Gritzman. Comment puis-je passer dans le descripteur de fichier? Comment puis-je obtenir un libusb_device pour le premier paramètre de libusb_open()? Merci. –
@AntaoAlmada regardez https://github.com/Gritzman/libusb/blob/master/jni/usb/os/linux_usbfs.c (commentaires avec Android). Il n'y a pas besoin de modifier l'interface et de passer le fichier descriptior – CAMOBAP