APK安装流程详解0——前言

一、概述

老李原本打算 十一假期期间把,写成一篇文章的,结果写着写着就holder不住了,写着写着发现要补充一些知识,一直在添东西,所以最后一篇文章就变成了一个系列了。~~~(>_<)~~~。最后导致这个APK安装系列直到10月底才搞定,整体上来说,我花了我一个月的时间,整体上来说,我对它并不是很满意,不过后续如果有时间,我会重新写一遍。但是我通过这一个月的学习,我对APK的安装有了一个大明显的提升。我也希望这一些列文章能帮助大家。

源代码基于Android 6.0

二、结构

我这一系列主要分为几个部分:

  • 1 基础知识部分
    • APK安装流程详解1——有关"安装ing"的实体类概述
    • APK安装流程详解2——PackageManager简介
    • APK安装流程详解3——PackageManager与PackageManagerService
    • APK安装流程详解4——安装中关于so库的那些事
    • APK安装流程详解5——PackageInstallerService和Installer
    • APK安装流程详解6——PackageManagerService启动前奏
    • APK安装流程详解11——普通应用安装简介
  • 2 流程讲解
    • APK安装流程详解7——PackageManagerService的启动流程(上)
    • APK安装流程详解8——PackageManagerService的启动流程(下)
    • APK安装流程详解9——PackageParser解析APK(上)
    • APK安装流程详解10——PackageParser解析APK(下)
    • APK安装流程详解12——PackageManagerService中的新安装流程上(拷贝)
    • APK安装流程详解13——PackageManagerService中的新安装流程下(装载)
  • 3 流程讲解补充
    • APK安装流程详解14——PMS中的新安装流程上(拷贝)补充
    • APK安装流程详解15——PMS中的新安装流程下(装载)补充
  • 4 总结
    • APK安装流程详解16——Android包管理总结

补充:

  • 如果想在后面更好的了解APK的装载流程,就必须要掌握一些基础知识,所以"基础知识部分",大家最好先看一遍。
  • 在讲解过程中,我是按照 “流程 优先级高于 细节” 的思路来的,所以其中 APK安装流程详解6——PackageManagerService的启动流程(上)、APK安装流程详解7——PackageManagerService的启动流程(下)、 APK安装流程详解12——PackageManagerService中的新安装流程上(拷贝)、 APK安装流程详解13——PackageManagerService中的新安装流程下(装载)中均会涉及PacakgeParse解析APK的内容,所以我在这四个文章中没有详细讲解,只是一笔带过,关于PacakgeParse解析APK的内容请参考APK安装流程详解8——PackageParser解析APK(上)和 APK安装流程详解9——PackageParser解析APK(下)
  • APK的安装的过程我主要分为两个部分,一为拷贝即APK安装流程详解12——PackageManagerService中的新安装流程上(拷贝),二为装载即APK安装流程详解13——PackageManagerService中的新安装流程下(装载)。里面也是有很多的细节,我没有讲解,主要是在APK安装流程详解14——PMS中的新安装流程上(拷贝)补充 和 APK安装流程详解15——PMS中的新安装流程下(装载)补充 做一些补充说明

三、建议

我建议大家先看下基础知识,然后再看流程,最后看一下总结。这样大家会对整体的流程 概念更深刻。

四、风险

其中涉及到Android 用户模式Android SELinux模块Android 存储系统(Vold、MountService等)Android 应用的签名。 这四个模块我基本上都是一笔带过,因为如果再深入,估计要到过年了。后面我会单独讲解这四个模块

五、未来计划

由于本人12月中旬要考PMI-ACP,所以暂时停更2个月,我会在12月底或者1月初继续。到时候看时间,可能会<写APP打开与Activity的启动流程> ,也可能会是等。到时候看吧。

六、感谢

牛顿曾经说过“如果我看得更远一点的话,是因为我站在巨人的肩膀上。”所以感谢如下:
http://blog.csdn.net/mockingbirds/article/details/53048296
http://blog.csdn.net/guoqifa29/article/details/41846169
http://blog.csdn.net/dd864140130/article/details/51867872
http://blog.csdn.net/gaugamela/article/details/52637814
http://blog.csdn.net/zy00000000001/article/details/51956883
https://yq.aliyun.com/articles/61570
http://blog.csdn.net/wh_19910525/article/details/39254815
http://www.codexiu.cn/android/blog/41507/
https://my.oschina.net/feiyangxiaomi/blog/746563
http://blog.csdn.net/lilian0118/article/details/25792601
http://www.debugrun.com/a/6Jg5ejZ.html
http://blog.csdn.net/zhanglianyu00/article/details/62888359
https://github.com/yipianfengye/androidSource/blob/master/13%20apk%E5%AE%89%E8%A3%85%E6%B5%81%E7%A8%8B.md
http://blog.csdn.net/king1425/article/details/70135813
http://blog.csdn.net/xueshanhaizi/article/details/51113752
http://blog.csdn.net/qq_25804863/article/details/48697423
http://www.cnblogs.com/ouyanliu/articles/7100682.html
http://blog.csdn.net/gaugamela/article/details/52769139
https://chaman.gitbooks.io/techblog/Android/apk-install-uninstall/apk-install-uninstall.html
http://www.heqiangfly.com/2016/05/12/android-source-code-analysis-package-manager-installation/
http://www.codexiu.cn/android/blog/8414/
https://maoao530.github.io/2017/01/18/package-install/
http://www.jianshu.com/writer#/notebooks/11880264/notes/18923066
http://www.jianshu.com/p/6769d1a9f4ad
http://www.cnblogs.com/myitm/archive/2012/05/17/2506635.html
http://www.cnblogs.com/carlo/p/4877819.html
http://www.voidcn.com/article/p-cqchgkxw-gx.html
http://blog.csdn.net/yangwen123/article/details/11104397
http://blog.jobbole.com/67286/
http://wiki.jikexueyuan.com/project/deep-android-v2/packagemanagerservice.html
http://cstsinghua.github.io/2016/06/13/Android%E5%AE%89%E8%A3%85APK%E8%AF%A6%E8%A7%A3/
https://www.2cto.com/kf/201403/285212.html
http://blog.csdn.net/wpxiaoxue/article/details/47071457
http://blog.csdn.net/zhiyuan263287/article/details/21033309
http://www.voidcn.com/article/p-kssalazh-sy.html
http://www.jianshu.com/p/953475cea991
http://blog.csdn.net/sgzy001/article/details/44857057
http://blog.csdn.net/zhiyuan263287/article/details/21033309
http://blog.csdn.net/singwhatiwanna/article/details/19578947

你可能感兴趣的:(APK安装流程详解0——前言)