美文网首页
Android6.0 system_server 访问内存卡

Android6.0 system_server 访问内存卡

作者: 曾经灬 | 来源:发表于2020-03-01 00:02 被阅读0次

1、system_server进程又是由Zygote孵化出来的,于是我们在frameworks/base/core/java/com/android/internal/os/ZygoteInit.java看到startSystemServer方法,这是启动system_server进程的

在system/core/include/private/android_filesystem_config.h可以找到关于sdcard_rw的定义:
#define AID_SDCARD_RW 1015 /* external storage write access */
最后,我们在–setgroups字符串后面加上1015

2、Selinux 查看安全上下文

3、开启system_server selinux的权限

修改external/sepolicy/system_server.te

  • 修改Neverallow rules
    allow system_server sdcard_type:dir { open read write };
    allow system_server sdcard_type:file rw_file_perms;
    添加
    allow system_server self:unix_stream_socket { read write getattr create ioctl};
    allow system_server fuse:dir { open search write read rename create rmdir getattr add_name setattr};
    allow system_server fuse:file { open read write open execute getattr create ioctl setattr};
    allow system_server shell_exec:file { execute read open execute_no_trans};

  • 还会有一些和allow冲突的需要删除掉。

4、 重新编译后 刷机需要进入一下recovery模式才可以读取sdcard 不知道是什么原因.

相关文章

网友评论

      本文标题:Android6.0 system_server 访问内存卡

      本文链接:https://www.haomeiwen.com/subject/lcabhhtx.html