PMS构造函数以及apk如何扫描

一、PackageManagerService构造函数

  1.创建data目录下面以及文件(settings的构造函数),然后再添加6个SharedUserSetting

  2.开始扫描并且解析APK

  3.实例化SystemConfig并获得mGlobalGids, mSystemPermissions, mAvailableFeatures,mSharedLibraries

    a.mGlobalGids : 建立底层user idsgroup ids同上层permissions之间的映射;可以指定一个权限和几个组id的对应。当一个APK被授予这个权限时,它也同时属于这几个组

              b.mSystemPermissions : 给一些底层用户分配权限,如给 shell 授予各种 permission 权限;把一个权限赋予一个UID,当进程使用这个 UID 运行时,就具备了这个权限

              c. mAvailableFeatures : 系统所有支持的个硬件,如新增硬件支持,都要添加相应的feature

              d. mSharedLibraries : 系统增加的一些应用需要 link 的扩展 jar

     4. 在data目录下建立多个系统目录,如/data/app(用于保存安装的第三方apk包), /data/data(用于保存apk数据), /data/app-lib, /data/app-asec, /data/user, /data/app-private

   5.将权限分配给package manager

        6 . 分别按照优先级扫描解析并安装/vendor/overlay > /system/framework >/system/priv-app > /system/app > /vendor/app >oemAppDir下的所有apk文件

 

二、解析apk的流程:

  一些重要参数的解读

  1.mPackages  是包名和包对象的映射表,mPackages会保存所有的已安装apk信息

转载于:https://www.cnblogs.com/liunx1109/p/10786107.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值