我尝试使用libusb
在未 root 的 Nexus 5 上,如建议的那样这种方法 https://stackoverflow.com/a/24243605/902217(通过将 USB 文件描述符从 java 传输到本机端)。
我的应用程序通过以下方式请求许可UsbManager.requestPermission
然后运行调用的本机方法libusb_init
创造libusb_context
.
But libusb_init
回报LIBUSB_ERROR_OTHER
代码(-99)。深入研究代码后,我明白了为什么会发生这种情况。 libusb 报告'could not find usbfs'
因为opendir("/dev/bus/usb")
回报0
.
也来自adb shell
我无法表演ls /dev
,很奇怪,因为我有权限(在具有相同权限的华为 U8950-1 上我可以这样做):
drwxr-xr-x root root 2014-09-04 10:26 dev
看起来下面描述的方法并不适用于所有 Android 设备。有人可以解释为什么吗?
这个 libusb 分支中已经有一个修复:
https://github.com/martinmarinov/rtl_tcp_andro- https://github.com/martinmarinov/rtl_tcp_andro-
现在,您不仅需要传递文件描述符,还需要通过 UsbDevice.getDeviceName() 传递设备文件路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)