• 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信息

  • 相关阅读:
    iOS 使用GRMustache对HTML页面进行渲染
    算法 -- 排序
    ios 笔记
    ios 开发视图界面动态渲染
    Python环境变量设置
    Excel2010: Excel使用小技巧(不断更新)
    C: Answers to “The C programming language, Edition 2”
    VBScript: Windows脚本宿主介绍
    VBScript: 正则表达式(RegExp对象)
    VBScript Sample:遍历文件夹并获取XML文件中指定内容
  • 原文地址:https://www.cnblogs.com/liunx1109/p/10786107.html
Copyright © 2020-2023  润新知