You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AOSP开发:如何为系统应用授予/system目录的读取权限

实现思路

1. 调整目标文件/目录的固有权限

  • 可以在镜像构建的Android.mk或者Android.bp中,直接设置部署到/system下的目标文件权限:单文件设置LOCAL_MODULE_PERMISSIONS := 0644,目录设置为0755,同步配置LOCAL_MODULE_OWNER := system,保证system进程身份的应用可以直接读取
  • 也可以在device/[厂商]/[产品名]的设备配置脚本中,通过chmod/chown命令修改对应路径的权限,适合批量修改多个文件的场景

2. 配置SELinux权限(原生最稳妥方案)

/system分区默认开启SELinux强制访问控制,即便文件权限匹配,域不匹配也无法正常读取:

  • 首先确认你的系统应用对应的SELinux域,默认走system进程的系统签名应用对应的域是system_app
  • 在设备SELinux策略目录的system_app.te文件中添加访问规则,如果是仅访问特定目录,建议先给对应目录定义单独的SELinux标签,在file_contexts中添加:
    /system/你的自定义目录(/.*)?    u:object_r:custom_system_file:s0
    
    再补充授权规则:
    allow system_app custom_system_file:dir r_dir_perms;
    allow system_app custom_system_file:file r_file_perms;
    
  • 非必要不要放开整个system_file类型的读取权限,符合最小权限原则的同时也不会影响CTS认证结果

3. 应用层权限声明(适配高版本Android可选)

如果应用运行在Android 13及以上版本,部分定制ROM会对/system的访问做额外限制,可以在应用的AndroidManifest.xml中提前声明android.permission.READ_EXTERNAL_STORAGE或者ROM厂商自定义的/system访问权限,系统级应用声明后会直接被授予权限,不需要用户动态确认

内容的提问来源于stack exchange,提问作者Garry McKee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 19:45:03