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

Android privileged app gets permission denied when writing to sysfs in JNI

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

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

如有任何想法,我们将不胜感激!谢谢

看来我们需要注意多级权限。

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

我有前两个,但是我缺少这个特定 sysfs 节点的 sepolicy。虽然这是我的自定义 ROM 所独有的,不应该适用于大多数 android 开发人员...

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