-
Android设备启动顺序依次为:BootLoader、LinuxKernel、Android系统服务。Android系统服务通过init.rc脚本相继开启。
-
init.rc脚本文件是Android系统中第一个被启动的进程,PID为0,构建出Android系统的初始运行形态,由纯文本编写。
-
init.rc内定义了一系列Action事件和Service服务
-
Anction实际上为响应某事件的过程。事件发生后,init.rc对各Action的trigger进行匹配,符合触发条件的Action被添加到队列尾部,系统按顺序执行各事件对应的command。
on <trigger> <command1> <command2> ...
-
Service服务实际上是可执行程序,在option选项的约束下运行或重启
service <name><pathname> --argument1 --argument2 <option1> <option2> ...
-
-
由init.rc启动的三类关键系统服务:
- ServiceManager
- Zygote 生成Android中大多数应用及系统进程,包括本地系统服务与Java层系统服务(通过入口main@SystemService.java启动)
- SystemServer Android进入Lanuncher前的最后准备,提供Java编写的系统服务
网友评论