上层读写自己添加节点文件/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权限,操作如

在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权限进行读写操作。
最低0.47元/天 解锁文章
6151

被折叠的 条评论
为什么被折叠?



