Android系统启动流程图:
Android系统启动流程:Loader->Kernel->Native->C++ Framework->Java Framework->App
一、Loader层
Boot ROM:电源按下开始,固化在ROM中的引导芯片代码开始从预设的地方执行,加载BootLoader到RAM,然后执行(这一步由“芯片厂商”负责设计和实现)。
二、Boot Loader层
启动Android系统之前的引导程序,分三个阶段执行:
第一个阶段,检测外部的RAM以及加载对第二阶段有用的程序;
第二个阶段,设置网络、内存、串口、时钟等等;
第三个阶段,加载Linux内核镜像。(内核镜像被加载到内存,首先进行自解压,zImage, bzImage或uImage的头部都内嵌有解压缩程序,最终将内核解压到内存的指定位置,开始运行内核)。
这些对于运行内核是必要的,为了达到特殊的目标,bootloader可以根据配置参数或者输入数据设置内核。
bootloader程序可以在/bootable找到。
三、Kernel
Kernel层指的就是Android内核层,这里一般开机刚刚结束进入Android系统,Kernel层的启动流程如下: