root用户设备抛出EACCES:当我尝试获取CPU的温度时,权限被拒绝异常

时间:2016-03-07 05:56:02

标签: android linux permissions

我试图获取Android设备的CPU温度,经过一点点搜索后我发现一些文件存储了温度数据,我唯一需要的就是读取这些文件。最具体地说,我发现大多数设备在路径“/ sys / class / thermal / thermal_zone1 / temp”中包含温度。

我已在我的清单文件中添加了权限。

然而,我发现在某些设备上应用程序运行良好(4.1,4.4,5.1版本),在2个额外设备中,它不起作用,我打印日志,它显示EACCES:权限被拒绝

我发现这两个设备之前已经扎根了。我使用带有su命令的adb shell,这些文件确实存在并包含温度数据。

1 个答案:

答案 0 :(得分:1)

它可能在selinux强制设备上失败(即device running android 5.0 and later)。

您需要一个自定义ROM,其中包含从您的应用访问这些文件的特殊政策,或致电

  

adb shell setenforce 0

禁用直到下次启动(仅限root电话)