【发布时间】:2016-05-13 09:56:57
【问题描述】:
我在编辑 \system\etc\ 下的 libnfc-nxp.conf 文件时遇到问题,我收到以下错误。
/system/etc/libnfc-nxp.conf:打开失败:EROFS(只读文件系统)
上下文:我可以访问 AOSP,并且可以修改操作系统上的所有内容。 我想开发一个可以修改这个文件的 Android 应用程序。此应用将在内部与特定的 ENG 操作系统版本一起使用。
所以,我知道应用程序无法访问 /system/etc/。 为了授予此访问权限,我使用系统 sharedUserID 并将应用程序签名为 system_app。现在,我有一个特权应用程序
u:r:system_app:s0 系统
默认情况下 /system/etc/libnfc-nxp.conf 权限是
-rw-r--r-- root root libnfc-nxp.conf
所以,我通过 adb 测试了用 rw 重新挂载 /system 分区,以 chown 和 chmod 文件
chown system:system libnfc-nxp.conf
chmod 666 libnfc-nxp.conf
我仍然有同样的问题.. 因此,我希望更新 SElinux 以授予 system_app 对 \system\etc 下所有文件的 {open write} 访问权限。
我在device/xxx/sepolicy下修改了system_app.te
userdebug_or_eng(`
允许 system_app sysfs:file rw_file_perms;
allow system_app system_file:file {create open read write getattr setattr };
')
我做了一个测试,仍然有同样的问题。 我做了一轮我想到的可能的想法。你有什么建议吗? 是否仍然是 SELinux 问题,因为缺少某些内容。我对 SELinux 不熟悉?
欢迎任何帮助。 谢谢。
【问题讨论】:
-
/system安装点是只读的。