MTK Android串口权限配置
迪丽瓦拉
2024-06-03 22:37:38
0

问题

Android11设备中添加串口应用,遇到打开串口时报错问题:
System.err: Caused by: java.io.IOException: error=13, Permission denied

解决步骤

  1. APP中加权限申请
    AndroidManifest.xml
    
  1. 系统级应用
    AndroidManifest.xml添加android.uid.system

这里只介绍system应用配置,如果是普通应用,改法不一样。

  1. 配置selinux
    根据avc的提示来进行修改
    type=1400 audit(0.0:1182): avc: denied { read write } for name=“ttyS2” dev=“tmpfs” ino=12037 scontext=u:r:system_app:s0 tcontext=u:object_r:ttyS_device:s0 tclass=chr_file permissive=0

根据avc打印提示修改,不同的平台修改的地方不一样,这里介绍的是mtk平台
device/mediatek/sepolicy/basic/non_plat/system_app.te

# serial port
allow system_app ttyS_device:chr_file { open read write ioctl };
  1. 设备的权限
    由于板子对应mt6771,所以修改
    device/mediatek/mt6771/init.mt6771.rc
    添加
    chmod 0666 /dev/ttyS2
    不同型号cpu对应目录不同,且这步要改,否则会出现如下错误
    open() fd = -1
    Cannot open port
    native open returns null
    openSerialPort: 打开串口异常:java.io.IOException
    作者:帅得不敢出门

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...