open 总是失败 返回-1 android6.0 selinux策略问题

时间:2024-04-10 21:18:10

在做android 6.0 的tp 唤醒功能的时候, 在打开/dev/input/event4 总是失败 返回-1

open 总是失败 返回-1 android6.0 selinux策略问题

想到打印失败的err 值

查看官方文档,open函数返回值的说明:

-1 if an error occurred (in which case, errno is set appro-priately)

如果返回的是-1,那么errno就会被设置。

也就是说,打开文件失败,那么错误信息就会被存放在errno中。

说明:

1、errno的头文件#include <errno.h>

2、errno需要函数strerror包装

3、strerror的头文件#include <string.h>

使用图解:

open 总是失败 返回-1 android6.0 selinux策略问题


LOGE("debug : %s\n", strerror(errno));


查看打印信息

open 总是失败 返回-1 android6.0 selinux策略问题open 总是失败 返回-1 android6.0 selinux策略问题

open 总是失败 返回-1 android6.0 selinux策略问题

可以看到是权限问题, 在avc  se 策略问题上出现问题

需要修改input  的search 权限

具体根据android 6.0 selinux策略进行权限修改