zoukankan      html  css  js  c++  java
  • 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信息

  • 相关阅读:
    Mvc+三层(批量添加、删除、修改)
    js中判断复选款是否选中
    EF的优缺点
    Git tricks: Unstaging files
    Using Git Submodules
    English Learning
    wix xslt for adding node
    The breakpoint will not currently be hit. No symbols have been loaded for this document."
    Use XSLT in wix
    mfc110ud.dll not found
  • 原文地址:https://www.cnblogs.com/liunx1109/p/10786107.html
Copyright © 2011-2022 走看看