Android系统启动流程

Android系统启动流程

(1)系统引导bootloader,上电后,CPU IROM的程序会将bootloader装载到内存执行
源码:bootable/bootoader/
启动模式
    Camera + Power 启动到Fastboot,工厂模式,SD卡烧写模式(USB, 网络)
    Home + Power启动recovery模式
    按Power,正常开机模式
(2)Linux 内核,Bootloader在启动结束时,将CPU执行权交与kernel,Kernel 自解压,初始化内核和所有需要启动的驱动后,启动文件系统的init进程
源码:kernel/
(3)文件系统及init进程,
    建立系统目录并挂载(格式:源 目的 类型)
    初始化控制台
    Log系统初始化
    解析并执行init.rc
        初始化环境变量
        创建挂载点并挂载
        创建一些android需要用到的文件或者目录并设置相应的权限
        启动服务(adbd, console, vold, servicemanager, zygote...)
    监听系统服务(后台程序)
源码:system/core/init/init.c
(4)桌面Launcher/home,Android系统启动的第一个应用,在ActivityManagerService.systemReady()发送消息,通知home启动,为什么Launcher第一个启动:Launcer的AmdroidManifest.xml中intent-filter 定义了<category android:name android.intent.category.HOME>
源码:packages/apps/Launcher/*
(5)屏幕解锁,系统启动后,一般会将系统锁住,此时必须解锁,才可以正常使用设备
源码:frameworks/policies/base/phone/com/android/internal/policy/impl/*lock*
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值