Android为动态枚举设备ttyUSB0提权
2016-05-17 15:42
1531 查看
在系统中存在这样的设备:
通常情况下,这个设备不存在,只有在特定情况下才会出现。
比如:ttyUSB0, 只有在插入USB转串口的OTG设备后才会出现。
对于这样的设备,默认是没有写权限的。
如果有root权限,使用命令:
即可赋予其写权限。
但是,对于产品来说,你不能要求用户或第三方开发人员每次去输入一个命令,而且,最终产品往往是没有root权限的,此时这个chmod命令也提升不了权限。
在Android系统中的init进程中,会启动一个ueventd的服务,
ueventd这个服务会对ueventd.rc进行解析(高通平台会额外对ueventd.qcom.rc进行解析)。
这个rc脚本里定义了各种设备的路径,权限,Owner等。
修改这个rc文件,加入对应的设备(如:/dev/ttyUSB0)描述即可
如:
语法支持*号通配符:
通常情况下,这个设备不存在,只有在特定情况下才会出现。
比如:ttyUSB0, 只有在插入USB转串口的OTG设备后才会出现。
对于这样的设备,默认是没有写权限的。
如果有root权限,使用命令:
chmod 0666 /dev/ttyUSB0
即可赋予其写权限。
但是,对于产品来说,你不能要求用户或第三方开发人员每次去输入一个命令,而且,最终产品往往是没有root权限的,此时这个chmod命令也提升不了权限。
在Android系统中的init进程中,会启动一个ueventd的服务,
ueventd这个服务会对ueventd.rc进行解析(高通平台会额外对ueventd.qcom.rc进行解析)。
这个rc脚本里定义了各种设备的路径,权限,Owner等。
修改这个rc文件,加入对应的设备(如:/dev/ttyUSB0)描述即可
如:
/dev/tty_sdio_00 0660 system system /dev/ttyGS0 0660 system system /dev/i2c-5 0660 media media
语法支持*号通配符:
/sys/devices/virtual/input/input* poll 0660 input system /sys/devices/virtual/input/input* pollrate_ms 0660 input system
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories