外观
一个 APK 从安装请求到完成安装经过什么流程?
标准回答
安装通常从 PackageInstaller 的 session 开始,安装数据写入并提交后,包管理路径解析 APK,检查包名、版本、签名、SDK、ABI 和依赖等条件。系统准备安装上下文,扫描包信息,将新包与已有系统状态进行 reconcile,最后 commit 更新包设置与组件等状态。文件和应用数据目录等操作会与 installd 协作,编译优化的安排取决于系统版本及 ART 服务实现。安装完成后更新用户可见状态并发出对应结果和通知。
延伸追问
安装流程会涉及校验和事务一致性,不能把它概括为复制 APK 再写一条数据库记录。
内容来源
- Android Framework 知识手册 · 原条目
6-1