ok,午休完了,继续未竟的调研。
这偏主要分析开机过程,系统是怎么读取相关配置文件来获取应用安装情况的。
1。PackageManagerService初始化
public PackageManagerService(Context context, Installer installer,
boolean factoryTest, boolean onlyCore) {
.......................................................................
mAppInstallDir = new File(dataDir, "app");
mRestoredSettings = mSettings.readLPw(this, sUserManager.getUsers(false),
mSdkVersion, mOnlyCore);
.......................................................................
mAppInstallObserver = new AppDirObserver(
mAppInstallDir.getPath(), OBSERVER_EVENTS, false, false);
mAppInstallObserver.startWatching();
scanDirLI(mAppInstallDir, 0, scanMode, 0);
.......................................................................
}
2. com.android.server.pm.Settings
boolean readLPw(PackageManagerService service, List<UserInfo> users, int sdkVersion,
boolean onlyCore) {

本文详细阐述了Android系统启动时如何读取配置文件获取应用安装情况。首先,PackageManagerService初始化,读取/data/system/packages.xml获取所有应用详情。接着,通过readPackageRestrictionsLPr方法读取每个用户对应用的安装限制。最后,扫描/data/app目录,确保所有apk已安装。此过程涉及的文件包括package-restrictions.xml和packages.xml。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



