在项目中要用到android主板的RS232串口对设备进行控制,在测试过程发现要对串口进行提权才能操作。主板是3399PRO搭载android 9.0。系统有adb的root权限。如果只是单次操作,可以直接使用ADB root对串口进行提权,然后就可以进行串口操作了。

adb root

adb shell

# chmod 666 /dev/ttysWK9

这样代码就可以操作串口。

但系统重启后又会失去权限。

设备在使用过程中不可能每次都用adb root进行提权。

仔细分析了android启动过程,发现可以在init.rc中做文章。

1、前提是有adb root权限。
2、使用adb root提权后
3、使用adb shell进入shell命令行,将init.rc备份 cp init.rc init.rc.bak
4、将根目录下的init.rc下载来下
    adb pull /init.rc d:/
5、编辑init.rc,注意不要使用中文,也不要转码
    在on boot这一节的最后加入,关于init.rc可以参考《Android系统启动——3init.rc解析》
        chmod 666 /dev/ttysWK9
    保存
6、将init.rc上传到根目录下,替换原来的
    adb push d:/init.rc /
7、检查init.rc是否已经添加ttysWK9的权限修改
    cat init.rc|grep ttysWK1
8、重启设备 reboot或断电重启。

经过以上操作后,系统每次启动时会自动对串口提权。

软件就不会提示无权限了。

更多相关文章

  1. APK权限大全 - Android必懂知识
  2. ContentProvider共享数据和ContentResolver的使用,Uri,UriMatche
  3. 【Android】第三方QQ账号登录的实现
  4. Android(安卓)判断系统用户无操作
  5. 2014年开源夏令营-android下编译libusb和libhackrf
  6. Android中的进程(Process)和线程(Thread)
  7. Android系统操作的50个实用技巧
  8. Android(安卓)串口通信开发笔记3:CMake 方式实现和 多对多的实现
  9. android网络通信之-Http(Android操作HTTP实现与服务器通信)

随机推荐

  1. android 命令大全
  2. Android(安卓)APK安装过程及原理详解
  3. android之4.0控件switch自定义开关滑块、
  4. Android下的Console命令
  5. 在Android中使用Timer,并创建一个应用程序
  6. 键盘自动弹出解决
  7. Android很有用的代码片段
  8. android中设置activity的出现方式
  9. android下获取有线和无线的Ip地址
  10. eclipse新建android工程提示android.supp