学习android内核 -- 程序包管理(PackageManagerService)

来源:互联网 发布:淘宝网首页女装冬装 编辑:程序博客网 时间:2024/04/28 14:10

PackageManagerService 和其它系统服务(AmS,WmS)一样,运行于SystemServer进程。 


PackageManagerService主要包括三部分内容:

1.提供一个能够根据Intent匹配到具体的Activity、Provider、Service。即能把参数中指定的intent转换成一个具体的包含了程序包名具体Component名称的信息。

2.权限检查,即当调用某个需要一定权限的函数时,判断是否有执行权限,从而保证了系统安全。

3.提供安装、删除应用程序接口。



--------------------------------

除了PmS服务外,还有两个辅助系统服务用于 程序安装

1.DefaultContainerService:用于把安装程序复制到程序目录中;

2.Install服务:该服务并不是一个Binder,而是一个Socket客户端,PmS直接与Socket客户端交互;Socket客户端主要完成程序文件的 解压及数据目录创建,比如从Apk文件中提取出dex文件,删除dalvik-cache目录下的dex文件,创建程序专属的数据目录等。

原创粉丝点击