没有合适的资源?快使用搜索试试~ 我知道了~
Android_手机开机启动流程.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 60 浏览量
2022-07-04
22:22:22
上传
评论
收藏 93KB DOC 举报
温馨提示
试读
5页
Android_手机开机启动流程
资源推荐
资源详情
资源评论
Android booting 1 Android的开机流程 1. 系统引导bootloader 1 源码
bootable/bootloader/ 2 说明加电后CPU将先执行bootloader程序此处有三种选择 a 开
机按CameraPower启动到fastboot即命令或SD卡烧写模式不加载内核及文件系统此
处可以进行工厂模式的烧写 b 开机按HomePower启动到recovery模式加载
recovery.imgrecovery.img包含内核基本的文件系统用于工程模式的烧写 c 开机按
Power正常启动系统加载boot.imgboot.img包含内核基本文件系统用于正常启动手机
以下只分析正常启动的情况 2. 内核kernel 1 源码kernel/ 2 说明kernel由bootloader加
载 3. 文件系统及应用init 1 源码system/core/init/ 2 配置文件system/rootdir/init.rc 3
说明init是一个由内核启动的用户级进程它按照init.rc中的设置执行启动服务这里的
服务指linux底层服务如adbd提供adb支持vold提供SD卡挂载等执行命令和按其中的
配置语句执行相应功能 4. 重要的后台程序zygote 1 源码
frameworks/base/cmds/app_main.cpp等 2 说明zygote是一个在init.rc中被指定启动的
服务该服务对应的命令是/system/bin/app_process a 建立Java Runtime建立虚拟机 b
建立Socket接收ActivityManangerService的请求用于Fork应用程序 c 启动System
Server 5. 系统服务system server 1 源码
frameworks/base/services/java/com/android/server/SystemServer.java 2 说明被zygote启
动通过System Manager管理android的服务这里的服务指frameworks/base/services下
的服务如卫星定位服务剪切板服务等 6. 桌面launcher 1 源码
ActivityManagerService.java为入口packages/apps/launcher实现 2 说明系统启动成功
后SystemServer使用xxx.systemReady通知各个服务系统已经就绪桌面程序Home就
是在ActivityManagerService.systemReady通知的过程中建立的最终调用 启launcher
7. 解锁 1 源码 frameworks/policies/base/phone/com/android/internal/policy/impl/lock 2
说明系统启动成功后SystemServer调用wm.systemReady通知WindowManagerService
进而调用PhoneWindowManager最终通过LockPatternKeyguardView显示解锁界面跟
踪代码可以看到解锁界面并不是一个Activity这是只是向特定层上绘图其代码了存
放在特殊的位置 8. 开机自启动的第三方应用程序 Android booting 2 1 源码
frameworks/base/services/java/com/android/server/am/ActivityManagerService.java 2 说
明系统启动成功后SystemServer调用ActivityManagerNative.getDefault.systemReady
通知ActivityManager启动成功ActivityManager会通过置变量mBooting通知它的另一
线程该线程会发送广播android.intent.action.BOOT_COMPLETED以告知已注册的第
三方程序在开机时自动启动。 9. 总结 综上所述系统层次关于启动最核心的部分是
zygote即app_process和system serverzygote它负责最基本的虚拟机的建立以支持各个
应用程序的启动而system server用于管理android后台服务启动步骤及顺序。 10. 参
考 http://blog.csdn.net/basonjiang_sz/category/648399.aspx Android booting 3 Android
启动过程详解 Android从Linux系统启动有4个步骤 1 init进程启动 2 Native服务启动
3 System ServerAndroid服务启动 4 Home启动 总体启动框架图如 第一步initial进程
system/core/init init进程它是一个由内核启动的用户级进程。内核自行启动已经被载
入内存开始运行并已初始化所有的设备驱动程序和数据结构等之后就通过启动一个
用户级程序initAndroid booting 4 的方式完成引导进程。init始终是第一个进程. Init.rc
Init.marvell.rc Init进程一起来就根据init.rc和init.xxx.rc脚本文件建立了几个基本的服
务 servicemanamger zygote 。。。 最后Init并不退出而是担当起property service的功
资源评论
老帽爬新坡
- 粉丝: 79
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功