首先zygote创建了appruntime的对象,并调用他的start。此后的活动由AppRuntime来控制
然后调用startVM来创建了虚拟机,调用startReg来注册JNI的函数
通过JNI调用zygoteInit进入了java的世界
调用registerZygoteSocket来响应子孙后代的请求,同时调用preload函数进行资源的预加载
调用startSystemServer来进行系统启动的后续工作
完成了java世界的初创工作后,变进入了select循环,来处理后续的请求。...
分类:
移动开发 时间:
2015-03-31 18:04:50
阅读次数:
196
上一章讲述了android启动过程中,加载init.rc之后需要对其进行解析。
而解析又根据三个不同的SECTION来执行不同的初始化的文件,分别是parse_action,parse_service,parse_import.
那么,这一节,我们就从parse_action来讲一下是如何解析init.rc下面,on的关键字及其对应的action与command的。
按照惯例,先来看一下这个函数实现:...
分类:
移动开发 时间:
2015-03-29 16:34:52
阅读次数:
183
Init.rc的解析过程是笔者认为在android启动过程中,最复杂,最难理解的部分。
虽然它的内容很少,但是却包含了非常多的处理,接下来我们来慢慢的分析。
经过前面的分析,我们知道了read完init.rc的文件后,保存到了data的数组,传递到了parse_config的函数里。...
分类:
移动开发 时间:
2015-03-29 15:13:36
阅读次数:
191
#############################################
本文为极度寒冰原创,转载请注明出处
#############################################
Android的启动流程绝大部分人都知道,但是大多数人都是这样描述的:
Android启动,首先是启动Bootloader,然后挂载kernel,挂载完ke...
分类:
移动开发 时间:
2015-03-29 10:56:28
阅读次数:
145
本文为 ANDROID_SOURCE/system/core/init/readme.txt 的译文,主要讲解Android init.rc的语法。这份文档基本说明了init进程要完成那些工作,当然,除此之外,init进程还要完成property service等内容。对Android启动过程感兴趣或对init源码有兴趣的同学,本文值得一读。...
分类:
移动开发 时间:
2014-12-28 11:43:45
阅读次数:
223
下面是android启动到界面显示流程图
1:Linux内核启动
2:init进程启动。
3:本地系统服务,Java系统服务 启动:
1):init启动service manager,这个进程主要负责系统服务的注册管理,包括“java系统服务”“本地系统服务”
2):init启动Media server,这个进程负责启动C/C++的“本地系统服务”。...
分类:
移动开发 时间:
2014-12-26 16:42:58
阅读次数:
265
Android启动过程中的第一个进程init,在启动过程中会启动两个关键的系统服务进程ServiceManager和Zygote。本文要介绍的就是Zygote进程的启动,Zygote俗称孵化器,专门用于生产(启动)新的进程。Zygote是在Init.rc(aosp/system/core/rootdir)里描述并由init进程启动的。相关代码如下:
service zygote...
分类:
移动开发 时间:
2014-11-18 00:27:06
阅读次数:
458
Android启动过程
1. 加载Linux内核
2. Android init进程对各种设备进行初始化,运行Android Framework所需用的各种Daemon(后台进程/守护进程),Context Manager,MediaServer,Zygote等
以下是init进程执行的Daemon进程:
USB Daemon(usbd): 管理USB连接
Android Debug ...
分类:
移动开发 时间:
2014-10-02 12:06:52
阅读次数:
242
1 总述
为了方便客户日后的固件升级,本周研究了一下android的recovery模式。
2 2 Android启动过程
在这里有必要理一下android的启动过程:
图1 android启动过程
系统上电之后,首先是完成一系列的初始化过程,如cpu、串口、中断、timer、DDR等等硬件设备,然后接着加载boot def...
分类:
其他好文 时间:
2014-09-25 18:36:17
阅读次数:
352
1.??init.rc文件结构 文件位置: init.c??: /system/core/init init.rc??: /system/core/rootdir 首先init.rc文件是以模块为单位的,每个模块里的内容都是一起执行的,模块分为3种类型:on、service、impor...
分类:
移动开发 时间:
2014-08-08 21:34:46
阅读次数:
402