Android APP 安装流程

2020-08-20  本文已影响0人  _喝喝酒吹吹风_

安装流程

  1. 将apk文件复制到data/app目录
  2. 将APP的dex文件拷贝到/data/dalvik-cache目录,再在/data/data/目录下创建应用程序的数据目录(以应用包名命令),用来存放应用的数据库、xml文件、cache、二进制的so动态库等
  3. 解析apk的AndroidManifest.xml文件,注册四大组件,将apk的权限、应用包名、apk的安装位置、版本、userID等重要信息保存在/data/system/packages.xml文件中。这些操作都是在PackageManagerService中完成
  4. dex2oat操作
  5. 更新权限信息
  6. 完成安装,发送Intent.ACTION_PACKAGE_ADDED广播
  7. 桌面显示icon
dexopt/dex2oat 操作在不同版本下的区别
APK安装涉及到的几个常用目录
  1. system/app : 系统自带的应用程序,获得root权限才能删除。
  2. data/app : 用户程序安装目录,安装时会把apk文件复制到此目录下。
  3. data/data : 存放应用程序的数据。
  4. data/dalvik-cache : 将apk中的dex文件安装到该目录下(dex文件是dalvik或art虚拟机的可执行文件,大小约为原始apk的四分之一)
手机所有的apk 信息存放在哪?

5个位于目录/data/system的文件

PacketManagerService

参考

  1. [Android App安装流程] https://www.jianshu.com/p/839711ec545d
  2. [Android Apk安装过程分析] https://www.jianshu.com/p/953475cea991
上一篇下一篇

猜你喜欢

热点阅读