PMS(PackageManagerService)是Android系统中的一个系统服务,负责系统中Package的管理,应用程序的安装、卸载、信息查询等工作。

apk安装分为有界面和无界面,有界面安装是使用系统提供的packageinstaller应用进行安装,无界面安装是使用adb或者系统应用,直接使用PMS相关接口实现安装。

PMS安装流程:
1.向PMS的handler发送init_copy消息,将apk文件复制到data/app目录
2.解析apk信息,进行签名校验,检查是否和已有的ContentProvider冲突,注册四大组件
3.dex优化
4.更新权限信息,判断是否给app授权请求的权限
5.完成安装,发送广播