type=1400 audit(0.0:43): avc: denied { read write } for name="motor_pwm" dev="tmpfs" ino=1732 scontext=u:r:untrusted_app_25:s0:c512,c768 tcontext=u:object_r:device:s0 tclass=chr_file permissive=0
基于Android L版本源码环境进行开发时,根据项目需求,APP层需要操作sys/xxx 或 proc/xxx下面的文件结点,但是会报出以下权限异常,无法直接操作这些结点
LedLightFileUtil( 4671): java.io.FileNotFoundException: /sys/class/leds/green/brightness: open failed: EACCES (Permission denied)
LedLightFileUtil( 4671): at libcore.io.IoBridge.open(IoBridge.java:456)
LedLightFileUtil( 4671): at java.io.FileOutputStream.<init>(FileOutputStream.java:87)
LedLightFileUtil( 4671): at java.io.FileOutputStream.<init>(FileOutputStream.java:127)
LedLightFileUtil( 4671): at java.io.FileOutputStream.<init>(FileOutputStream.java:116)
【声明】欢迎转载,但请保留文章原始出处:http://blog.csdn.net/yelangjueqi/article/details/46761987
2 问题原因
自Android L版本,Google对源码环境普遍启用SELinux安全访问机制,APP及framework层默认情况下再无权限访问设备节点如(sys/xxx,proc/xxx)