
PackageManagerService
文章平均质量分 93
一起搞IT吧
从事IT行业十多年,搞过汇编开发单片机,智能硬件,开发板,手机开发。Linux驱动六七年,Android垂直开发累计十年+,手机camera领域开发八九年。一直未太多时间发博客,最近带新人,发现新人成长太慢,开始整理十多年工作经验的点点滴滴,理论博文网络遍地开花,优先分享实战、开发技巧、开发效率供大家一起搞IT吧。
有问题可优先评论区留意或邮箱[email protected]联系,谢谢。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PKMS(PackageManagerService)之adb install代码详解
本文详解了adb install的代码执行流程:从adb命令行解析install指令,到调用pm脚本执行安装,再到PKMS(PackageManagerService)处理安装请求的全过程。重点分析了session创建、APK文件传输、权限验证、native库解压等关键步骤,并指出adb install与其他安装方式的区别在于handleStartCopy阶段不执行实际数据拷贝。整个流程涉及adb、pm、PackageInstallerSession及PKMS等多个模块的协同工作。原创 2025-07-05 14:30:00 · 575 阅读 · 0 评论 -
PKMS(PackageManagerService)之安装统一接口processPendingInstall代码详解
本文详细解析了Android PackageManagerService中的processPendingInstall方法,该方法负责APK安装的核心流程。主要分为三个关键阶段:1. 安装前处理(doPreInstall) - 进行准备工作;2. 核心安装过程(installPackageTracedLI) - 包含APK解析、签名验证、新旧包替换等复杂逻辑;3. 安装后处理(doPostInstall) - 进行清理工作。文章通过代码逐行分析,重点讲解了系统应用与非系统应用的不同处理逻辑、签名验证机制、包原创 2025-07-05 09:30:00 · 682 阅读 · 0 评论 -
PKMS(PackageManagerService)之PackageHandler代码详解
本文详细解析了Android系统中PackageHandler的工作原理和代码实现。PackageHandler作为PackageManagerService的关键组件,主要负责APK安装过程中的消息处理、安装验证和权限管理。文章通过代码示例展示了其工作流程:从接收INIT_COPY消息开始,到连接DefaultContainerService、处理MCS_BOUND消息、执行APK拷贝(copyPackageInner),最后完成安装后处理(POST_INSTALL)。重点分析了安装过程中的关键步骤,包括原创 2025-07-04 10:43:40 · 883 阅读 · 0 评论 -
PKMS(PackageManagerService)之PackageInstaller安装APK代码详解
本文详细解析了Android系统中PackageInstaller安装APK的代码流程。主要内容包括:1)PackageInstaller的初始化过程,根据URI协议类型跳转不同界面并处理未知来源限制;2)APK安装的核心步骤:通过IO流将APK信息写入Session,并调用commit提交给PMS处理;3)代码调用链追踪,从InstallInstalling.java到PackageManagerService.java的完整执行路径。文章还分析了权限检查、原生库提取等关键环节,并展示了安装结果回调机制。原创 2025-07-04 10:42:45 · 602 阅读 · 0 评论 -
PKMS(PackageManagerService)原理及代码详解
本文深入解析Android PackageManagerService(PKMS)的核心原理与实现机制。PKMS作为系统级服务,主要负责APK管理(安装/卸载/更新)、权限控制及组件注册等功能。文章详细剖析了PKMS的启动流程,包括构造函数初始化、系统目录扫描(如/system/framework、/data/app等)、权限文件解析(packages.xml等)等关键阶段。通过代码分析展示了PKMS如何通过Binder机制注册服务,以及如何处理不同安装场景(如adb安装、系统应用安装)。特别解析了扫描过程原创 2025-06-28 11:13:30 · 764 阅读 · 0 评论