一、PMS的作用
Package Manage Service是Android 系统核心服务之一,主要负责各种APK的安装,卸载,优化和查询。

二、PMS 启动流程
简单的将其分为以下几个步骤
- SystemServer通过PMS的main方法启动PMS
- PMS构造方法中初始化Settings
- 扫描各个系统目录下APP相关信息
具体步骤
1.在SystemServer中启动PackageManagerService.main
2.newPackageManagerService()并添加到ServiceManager中
3.newinstaller(建立installer和installd的socket连接,最终在底层实现install,remove,dexopt等功能)
4.通过systemConfig获取到xml文件中信息
5.创建PackageHandler Message Looper(安装/卸载请求)
6.readPLW()(读取data/system/packages.xml)
7.检查/system/etc/permissions/platform.xml中定制的library及/system/framework下的jar档案是否需要dex提取进行优化。若需要优化,会调用installer.dexopt提取dex到/data/dalvik-cache中
8.调用scanDirLI扫描存放apk的各个目录
9.系统应用安装—通过scanPackageLI逐一解析AndroidManifest.xml文件,建立每个apk的配置结构,

本文详细介绍了Android系统的Package Manager Service(PMS),包括其作用、启动流程和核心功能,如APK的安装、卸载、优化和查询。通过分析PMS的启动步骤,展示了如何从系统层面管理应用程序,并探讨了pm工具的使用,帮助读者更好地理解和分析PMS的源码实现。
最低0.47元/天 解锁文章
1392

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



