-
- 1. 启动linux,加载linux kernel并启动初始化进程init
- 2. init进程,解析rc文件,启动进程,其中init.rc文件中有很多service,包括 zygote 等
- 3. zygote中启动Android运行环境
- 4. 启动Android虚拟机
- 5. JNI调用启动com.android.internal.os.ZygoteInit
- 6. 在zygote进程中启动systemServer进程
- 7. .进入com.android.server.SystemServer进程
- 8. system_init()在下面文件里,该函数中启动一些和硬件相关的service
- 9. 在ServerThread的run()方法中,启动一系列的service
- 10. 开始启动app应用
- 11.启动状态栏
1. 启动linux,加载linux kernel并启动初始化进程init
源代码路经 system/core/init/init.c
...
//创建系统目录
mkdir("/dev", 0755);
mkdir("/proc", 0755);
mkdir("/sys", 0755);
...
//初始化系统属性
...
property_init();
...
/**** Loading .rc files ****/