Android上层读写文件节点,android 8.0 mtk平台添加读写文件节点权限

在Android 8.0的MTK平台上,针对/sys/bus/i2c/drivers/ac108/1-003b/ac108_debug/ac108_power节点进行读写操作时遇到权限问题。为解决此问题,需要在device/mediatek/mt8167/sepolicy/basic/platform_app.te中添加allow规则,同时在system/sepolicy/public/platform_app.te和system/sepolicy/private/app.te中更新类型定义。完成这些步骤后,应用将获得必要的SELinux权限进行读写操作。

上层读写自己添加节点文件/sys/bus/i2c/drivers/ac108/1-003b/ac108_debug/ac108_power:

FileOutputStream file;

try{

file = new FileOutputStream("/sys/bus/i2c/drivers/ac108/1-003b/ac108_debug/ac108_power");

file.write('1');//写1或者0

file.close();

}catch(FileNotFoundException e){

e.printStacktrace();

}catch(IOException e){

e.printStacktrace();

}catch(Exception e){

e.printStacktrace();

}

提示没有权限:

01-01 11:58:49.822 W/ndroid.systemui(  620): type=1400 audit(0.0:47): avc: denied { write } for name="ac108_power" dev="sysfs" ino=15082 scontext=u:r:platform_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=file permissive=0

01-01 11:58:49.827 W/System.err(  620): java.io.FileNotFoundException: /sys/bus/i2c/drivers/ac108/1-003b/ac108_debug/ac108_power (Permission denied)

读写如上节点需要添加selinux权限,操作如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值