Nul*_*def 14 permissions usb android libusb android-ndk
我正在开发一个通过jni使用libusb的应用程序.此应用程序目前仅针对root,usb-host Android 3+计算机.
方案如下:
<java Activity>
loads <jni_wrapper.so>
which wraps <my_main_lib.so>
that uses <libusb.so>
that needs rw access to: /dev/bus/usb/<device>
Run Code Online (Sandbox Code Playgroud)
所有.so本机库都是我在/ system/lib上安装(作为root)的基础结构的一部分,然后由简单用户运行的java Activities可以使用它们.
这意味着整个USB通信必须从原生方面完成.
我得到了一切正常工作,除了一个问题 - usb权限:/ dev/bus/usb/entries的默认权限是(0660,uid = root,gid = usb).
显然,运行本机代码的标准java进程不符合上述任何要求,迫使我"chmod 666"相应的/ dev条目,以使其正常工作.
但是,这个解决方案并不是那么好,因为它不会在重新启动或拔出/重新插入设备后继续存在(权限会回到0660).
我正在寻找的解决方案需要:
我想到的方向:
有任何想法吗?:-)
谢谢!
我有同样的问题,我在 ndk 中解决了这个问题,更改 /proc/bus/usb 作为你的情况下安装 usb 的位置。希望能帮助到你。
r = system("su -c \"chmod -R 777 /proc/bus/usb/\"");
if(r!=0) {
LOGD("Could not grant permissions to USB\n");
eturn CANT_GRAN_PERMISSION_USB;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16110 次 |
| 最近记录: |