Android PMS——权限控制分析(十二)

        PMS 中的权限控制通过权限管理和权限请求两个方面来实现。应用在 Android 系统中需要声明和请求权限,PMS 则会根据应用声明的权限和用户的选择来进行权限的管理和控制。

一、主要函数

1、Settings

源码位置:/frameworks/base/services/core/java/com/android/server/pm/Settings.java

readLPw

        该方法在 PMS 的构造函数中调用,主要从 /data/system/packages.xml 或 packages-backup.xml 文件中获得 packages、permissions 相关信息,添加到相关内存列表中。packages.xml 文件记录了系统的 permisssions 以及每个 APK 的 name、codePath、flags、version 等信息这些信息主要通过 APK 的 AndroidManifest.xml 解析获取,解析完 APK 后将更新信息写入这个文件,下次开机直接从里面读取相关信息添加到内存相关结构中。当有 APK 升级、安装或删除时会更新这个文件。

writeLPr

        将解析出的每个 APK 的配置信息(mSetting.mPackages)保存到 packages.xml 和 packages.list 文件。packages.list 主要记录了pkgName、userId、debugFlag、dataPath(包的数据路径)等数据。

2、SystemConfig

<

你可能感兴趣的:(Android,PMS,android,PMS)