[RK3288]串口开发之运行app权限不够报错闪退

  1. 接着上一章运行app遇到的问题[RK3288]串口JNI开发之so库的生成(串口C源代码)(基于android8.1使用android studio3.6开发)
  2. W/ample.seriaport: type=1400 audit(0.0:32): avc: denied { write } for name="ttyS3" dev="tmpfs" ino=1228 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:serial_device:s0 tclass=chr_file permissive=0
  3. 运行app后观察android studio打印发现,应用缺乏权限,致使App闪退。
  4. 这里我直接附上解决方法:在RK3288目录用find命令去寻找“sepolicy”目录
    在这里插入图片描述
  5. 在这里解释一下find命令,第一个参数为从哪一个路径开始搜索,第二个是要搜索的文件类型(d表明搜索的是目录不是普通文件),第三个指定文件名的名称,第四个输入你要搜索的文件名就好。
  6. 个人实际路径是system/sepolicy,而后根据打印找到没有权限的文件,算了,先跟你们说一下打印error的结构信息。

在这里插入图片描述

  1. 而后我就根据缺乏权限的对象在system/sepolicy用命令搜索:find -name “untrusted_app*”。这个*的意思:凡是以untrusted_app开头的文件名都给我列出来
  2. 最后在untrusted_app.te文件中根据万能公式添加一行命令搞定。

万能公式:allow 缺乏权限的对象 对哪一个文件:文件类型 {想给予它什么权限};

最终命令:allow untrusted_app serial_device:chr_file {open read write ioctl getattr};android

  1. 最后根据手册文档从新编译安卓系统烧写到板中,从新运行app便可!!
    在这里插入图片描述
  2. 官网文档须要找我拿或者有问题能够咨询我。Q:812417530