前言
在我写这篇笔记的时候,Android已经诞生了12年之多,想想自己当初在刚上大学那会(12-13)还在用Nokia的 N51,其实那个时候安卓系统已经很厉害了,之所以自己这么顽固不化主要还是因为自己的经济状况。导致自己发誓入手一台智能机的原因是: 驾考科目四被挂了,这才不得已使用智能机了。那时候已经是大三了,用的是华为麦芒。
研究生毕业后来到这家公司后,直接上手了Android源码,真的很奇怪,我好想学什么都是先底层然后再上层,这次的Android也是。现在也别管 Android以后的发展怎么样,因为它就在这里,自己必须在最短的时间内去熟悉它。
前言部分一般是无用的,可以直接跳过。
安卓系统/应用的启动过程
这里,我就是简单地回忆下自己思考的,根本没有从代码 其他书籍去考证这些东西的正确性,当然,后面随着熟悉的深入,也需要进行一些修改。
APK包安装 PackageManagerService
众所周知,我们安卓使用的应用的打包形式为APK文件,当launch 安装这个应用是,AOSP(Android Open Source Platfrom,用来简称安卓)会维持一个名为installd
的守护进程,他会自动监听应用程序包的安装情况。
在这一通道上,有一个名为PackageManagerService
的服务进行包安装。这是AOSP中一个较为核心的服务。