PMS备忘

启动:

1 mSettings = new Settings()

2 调用mSettings.addSharedUserLPw往mSettings的mSharedUsers分别添加android.uid.phone,android.uid.log和android.uid.nfc

3 String separateProcesses = SystemProperties.get(“debug.separate_processes”);不知道和这个相关的代码是干什么用的

4 mInstaller = new Installer()

5 mHandler = new PackageHandler(mHandlerThread.getLooper());

6 mUserManager = new UserManager(mInstaller, mUserAppDataDir);

貌似是个用户管理相关的东西,这里只是初始化了一下

7 readPermissions();

读etc/permissions下的xml文件,etc/permissions/platform.xml

(1) readPermissionsFromXml

mGlobalGids = appendInt(mGlobalGids, gid); gid相关的信息放到mGlobalGids中

(2)permission相关的信息通过readPermission(parser, perm)保存到mSettings.mPermissions

其中,mPermissions是一个hashmap:HashMap<String, BasePermission>,permission相关的组id会保存到BasePermission的bp.gids = appendInt(bp.gids, gid);

gid是一个int数组,可见在android中同一个权限可以对应多个不同的组。

通过上面的处理,就把platform.xml中所有的权限相关的信息以hashmap的形式保存到了Settings的mPermissions中

8 mRestoredSettings = mSettings.readLPw() 读packages.xml的信息

    原文作者:t8360go
    原文地址: https://blog.csdn.net/t8360go/article/details/9337671
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞