读书笔记:android设计与实现第四…
来源:互联网 发布:js替换所有特殊字符 编辑:程序博客网 时间:2024/05/27 00:30
Package manager:
PackageManager是Android为管理应用程序安装包(APK)提供的包管理器,这部分内容和Android启动过程联系紧密,是理解Android框架层的基础之一。
PackageManager主要包括以下部分:
1,权限处理,包括对系统和应用定义的permission和permissionGroup信息的增加、删除、查询和检查
2,报处理,包括扫描并安装和卸载APK包,查询包的UID、GID、包名、系统默认程序信息等。
3,比较两个包的Signatures信息是否相同
4,查询Activity、provider、Receiver、Service信息
5,查询Application、Package、Resource、sharedLibrary、Feature信息
6,Intent匹配
PackageManager涉及的内容非常广泛,根据packageManager各模块的功能和在源码中所处的层次,可以将PackageManager划分为三层体系结构,应用层,中间层,服务层。
1,应用层:位于最上层,包括GoogleMarket、PackageInstaller.apk,GoogleMarket用于安装market上的程序,PackageInstaller.apk用于安装存储设备上的apk安装包
2,中间层:包括两个模块:PackageManager及其之类、adb和pm命令。PackageManager对外提供API接口,这是一个抽象类,由其子类ApplicationPackageManager实现其定义的接口,其上层的应用层调用这些API接口实现具体的功能。adb和pm命令用于安装和卸载APK,这两个模块的共同特点,通过Binder通信最终调用PackageManagerService的对等方法实现具体的功能。
3,服务层:PackageManagerService及其相关类,PackageManagerService是在Android启动过程中的init2阶段启动的JavaSystemService从binder通信的角度看,中间层是其Client端。
应用层调用getContext().getPackageManager(),获取PackageManager对象,主要做了两部分工作:
1,获得一个IPackageManager的Binder代理对象
2,以该对象为参数构造一个ApplicationPackageManager对象返回。
0 0
- 读书笔记:android设计与实现第四…
- 读书笔记:android设计与实现第一…
- 读书笔记:android设计与实现第二…
- 读书笔记:android设计与实现第三…
- Android的设计与实现--读书笔记
- 《Redis设计与实现》读书笔记
- 《Redis设计与实现》读书笔记
- Effective C++读书笔记 第四部分 设计与声明
- Linux内核设计与实现读书笔记(1)
- Linux内核设计与实现读书笔记(2)
- 操作系统设计与实现(读书笔记1)
- 操作系统设计与实现(读书笔记2)
- 操作系统设计与实现(读书笔记3)
- 操作系统设计与实现(读书笔记4)
- 操作系统设计与实现(读书笔记5)
- 读书笔记--《LINUX内核设计与实现》
- 读书笔记--《LINUX内核设计与实现》(二)
- 读书笔记之《Linux内核设计与实现》
- 读书笔记:android设计与实现第二…
- eclipse + jni +lame
- Aidl开发流程(android studio)
- 读书笔记:android设计与实现第三…
- Android parcelable序列化
- 读书笔记:android设计与实现第四…
- android设计与实现 收获
- ubuntu的virtualbox
- Android 优化布局:
- 关于自定义控件:
- Android 视图绘制流程:
- UNIX中域套接字的简单实例
- 色键 Chroma Key
- 浏览器要倒霉了!