Android 11.0 系统SystemServer进程读写sdcard权限的修改

本文介绍了在Android 11.0系统中,SystemServer进程如何获取读写sdcard权限的问题。通过分析ZygoteInit.java的启动过程,发现需要在forkSystemServer时添加相关gid并启用特定的capabilities。同时,针对kernel层的namei.c权限检查进行修改,以允许SystemServer访问sdcard。在PhoneWindowManager.java中进行测试,验证了权限修改后的效果。
摘要由CSDN通过智能技术生成

1.前言

  在11.0的系统开发中,在一些系统进程中,也就是在SystemServer的进程中,其中系统服务中会要求读写Sdcard的一些功能,然后
默认是没有读取sdcard权限的,而在app中可以申请sdcard读写权限在系统服务中就不能申请权限,接下来看怎么授权实现sdcard授权

如图:

 
2.系统SystemServer进程读写sdcard权限的修改的核心类

    kernel-4.14\fs\namei.c
    frameworks\base\core\java\com\android\internal\os\ZygoteInit.java
    frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java

3.系统SystemServer进程读写sdcard权限的修改的核心功能分析和实现
3.1 ZygoteInit.java的相关权限分析

在android系统中,SystemServer是非常重要的系统进程,
SystemServer就是系统用来启动service的入口。
Android系统在启动的时候,在启动两个重要的进程,一个是Zygote进程
另一个是由zygote进程fork出来的system_server进程;
SystemServer会启动我们在系统中

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安卓兼职framework应用工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值