1、安卓改动rc文件后,在编译cpp的同级目录下添加rc文件。
2、编译Android源代码唤谈工程,将代码替换成指定目录下的init.rc文件。
3、完成init.rc文件改动后,rc文件可以生效。
第一篇: Android系统启动之bootloader
第二篇: Android系统启动之Init流程(上)
第三篇: Android系统启动之Init流程(下)
第四篇: Android系统启动之init.rc文件解析过程
第五篇: Android系统启动之zyogte进程
第六篇: Android系判哗统启动之zyogte进程java(上)
第七篇: Android系统启动之zyogte进程java(下)
第八篇: Android系统启动之SystemServer
Android init.rc文件由系统第一个启动的init程序解析。是启动系统服务使用的文件。
主要包含了四种类型的语句:
Action和services显式声明了一个语句块,而commands和options属于最近声明的语句块。
在第一个语句块之前 的commands和options会被忽略.
基本规则如下:
动掘蚂行作表示了一组命令(commands)组成.动作包括一个触发器,决定了何时运行这个动作。
注意: 当触发器的条件满足时,这个动作会被增加到已被运行的队列尾。假设此动作在队列中已经存在,那么它将不会运行.
一个动作所包括的命令将被依次运行。
在"动作"(action)里面的,on后面物隐跟着的字符串是触发器(trigger),trigger是一个用于匹配某种事件类型的字符串,它将对应的Action的执行。
触发器(trigger)有几种格式:
常见的格式:
command是action的命令列表中的命令,或者是service中的选项 onrestart 的参数命令.
命令将在所属事件发生时被一个个地执行.
常见命令:
服务是指那些须要在系统初始化时就启动或退出时自己主动重新启动的程序.
解释一下各个参数:
options是Service的修订项。它们决定一个服务何时以及如何运行.
使用例子:
源码路径 system/core/init/init.cpp 中:
开始解析rc文件.
ParseConfig函数在文件 core/init/init_parser.cpp 140行:
ParseConfigFile函数:
Android init.rc文件浅析
安卓系统启动--3init.rc解析
init.rc深入学习
init进程的一个核心部分,是通过察猛解析rc文件,裤则执行Action和启动Service。在败纯桥分析init进程前,有必要先学习rc文件的配置和解析的原理。
/system/core/init/init.cpp
/system/core/init/init.cpp
通过 CreateParser , 创建了 Parser 解析器对象,其解析规则如下:
然后开始执行解析过程
最后调用 Parser 解析器的 ParseConfig 函数执行解析。
下一篇: 安卓启动流程(二) - Parser解析器
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)