推广 热搜:   中国  公司  行业  设备  快速  企业  上海  未来  技术 

AndroidP应用uid的设置过程

   日期:2024-10-31     移动:http://www78564.xrbh.cn/mobile/quote/22817.html

        目前有个项目,希望部分应用能运行在system uid下,但是这部分应用是第三方的,我们无法去修改这些应用的属性,因此考虑在framework层对这些特定的应用进行处理。

AndroidP应用uid的设置过程

        我们先从底层去找起,看看应用的uid是如何设置下来的。

        Android的Java应用基本都是通过ZygoteProcess来启动一个新的process:

        Zygote创建应用进程时是收到了AMS的uid参数的,从此处逆推回去,溯源找到这个参数传递的地方:

        uid是从ApplicationInfo.uid中获取到的。AMS启动应用进程时设置的uid我们暂且先不研究,我们主要从这条线索往上走,看看什么样的应用uid是为system的。

        应用package的uid实际上是由两个部分决定的,一个是普通的应用,一个是sharedUserId。我们知道,如果应用在AndroidManifest.xml中配置:

        那么应用的uid就为system,我们先来看一下这部分代码的逻辑。

        在PackageManagerService初始化时,就已经将系统的一部分自带的sharedUser添加到系统中:

        那么使用的地方在哪呢,在PackageParser解析package的时候就使用到了:

本文地址:http://www78564.xrbh.cn/quote/22817.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号