在JNI中写入sysfs时,Android特权应用程序获得权限被拒绝

时间:2016-01-24 01:25:12

标签: android android-ndk java-native-interface

我遇到了一个问题,当我尝试通过JNI打开一个sysfs节点时,我的系统应用程序(驻留在/ system / priv-app /中)遇到了'errno 13'。该节点归“system:system”所有。我可以看到应用程序本身正在使用系统ID运行,但我不明白为什么它会遇到权限问题。

应用尝试访问的sysfs节点是/ sys / devices / system / cpu / cpu0 / cpufreq / scaling_max_freq

任何想法将不胜感激!感谢。

1 个答案:

答案 0 :(得分:0)

看起来我们必须注意多种级别的权限。

  • Android清单权限
  • Linux文件系统权限
  • SELinux政策

我有前两个,但是我错过了这个特定sysfs节点的sepolicy。虽然这对我的自定义ROM来说是独一无二的,但不适用于大多数Android开发人员......

更多内容可以在这里阅读:https://source.android.com/security/selinux/