一 概览
先来看android 系统架构图
从下至上大概分五层 其中 HAL 及AndroidRuntime 在android 高版本中的层级结构及关联有较大的变化
android系统从上电启动到进入luanch界面的流程和逐层向下依赖的层级结构有很强的关联性
系统启动
注意此图中的 servicemanager 是由 int.rc脚本 中 AIL 脚本执行
service servicemanager /system/bin/servicemanager
usersystem
...
onrestart restart zygote
onrestart restart media
SystemServer是Android系统的一个核心进程,它是由zygote进程创建的,因此在android的启动过程中位于zygote之后。android的所有服务循环都是建立在 SystemServer之上的。在SystemServer中,将可以看到它建立了android中的大部分服务,并通过ServerManager的add_service方法把这些服务注册到(加入)到了ServiceManager的svclist中。从而完成ServcieManager对服务的管理。