一个应用程序APP安装到手机上时发生了什么变化

一个APP安装到手机的过程分析

安装和卸载都是通过PackageManager,实质上是实现了PackageManager的远程服务PackageManagerService来完成具体的操作,所有细节和逻辑均可以在PackageManagerService中跟踪查看;
所有安装方式殊途同归,最终就回到PackageManagerService中,然后调用底层本地代码的install来完成。
一个apk文件在安装到手机过程中,涉及到如下几个目录:

1.system/app —— 系统自带的应用安装目录
2.data/app —— 用户程序安装的目录,安装时把apk文件复制到此目录
3.data/data —— 存放应用程序的数据
4.data/dalvik-cache —— 将apk中的dex文件安装到dalvik-cache目录下


apk的安装过程:
 

(1)复制apk到/data/app目录下,解压并扫描安装包
(2)资源管理器解析apk里的资源文件
(3)解析AndroidManifest文件,在/data/data/目录下创建对应的应用数据目录
(4)对dex文件进行优化,并保存在dalvik-cache目录下
(5)将AndroidManifest文件解析出的四大组件信息注册到PackageManagerService中
(6)安装完成后,发送广播

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yzwfeng/article/details/128110463