【发布时间】:2019-06-15 06:30:16
【问题描述】:
我想使用 libusb1.0.22 从 ROOTed android 设备 (4.4) 中的 c++ 本机代码访问 USB 设备。首先,我成功调用 libusb_init,然后调用 libusb_open 但得到 LIBUSB_ERROR_ACCESS 错误。为什么在设备 root 时出现此错误?
【问题讨论】:
标签: c++ android-ndk java-native-interface libusb
我想使用 libusb1.0.22 从 ROOTed android 设备 (4.4) 中的 c++ 本机代码访问 USB 设备。首先,我成功调用 libusb_init,然后调用 libusb_open 但得到 LIBUSB_ERROR_ACCESS 错误。为什么在设备 root 时出现此错误?
【问题讨论】:
标签: c++ android-ndk java-native-interface libusb
一个
在 root 设备上您也必须获得权限! (像linux...)
(1) 您必须关闭 SELinux (setenforce 0)
(2) 您必须授予文件权限 (chmod 666 /dev/bus/usb/*/*),然后您的 USB 连接到 Android 设备。如果您只有一个 USB 端口,您可以通过 wifi 使用 adb 来完成。 (或更改设备规则以附加具有 666 权限的 USB 设备节点)
(*) 您可以使用“adb shell run-as”来检查您的应用权限。
B
(1) 您需要检查您的设备是否也在主机模式下工作。
(2) 您需要检查您的 USB 数据线是否为 OTG。
【讨论】: