
/system/core/init/init.cpp
/system/core/init/init.cpp
通过 CreateParser , 创建了 Parser 解析器对象,其解析规则如下:
然后开始执行解析过程
最后调用 Parser 解析器的 ParseConfig 函数执行解析。
下一篇: 安卓启动流程(二) - Parser解析器
第一篇: 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深入学习
关于更改matlab编译成exe的图标细节,我按照以下的方法,结果还是没变,生成的res文件是一个片段,打开后什么也没有,液侍不知道是什么情况,谢谢老师!假设图标文件是:DA.ico;编译的m文件是:data.m第一步:创建一个文本文件,里面写入"ConApp ICON DA.ico"第二步:把刚才的文本文件重命名闹粗吵为一个rc文件,如DA.rc第三步:在matlab命令窗口中键入:system(['"' matlabroot '\sys\lcc\bin\lrc" /i "' pwd '\DA.rc"'])这一步是把DA.rc和DA.ico编译到一起此时在你的当前工作目录下会生成一凳旅个名为DA.res的resource file第四步:将m文件与res文件一起编译mcc -m data.m -M DA.res以上网上很多地方都提到,但有一个细节却没提到:有时执行命令>>system(['"' matlabroot '\sys\lcc\bin\lrc" /i "' pwd '\DA.rc"'])后有lrc: f:\matlab测试\raw2txt.rc:1 No newline at end of file 警告为何呢?据分析,实验得知:rc文件的中写入ConApp ICON DA.ico这句后,没有按下ENTER键,也就是说写入那句后按下ENTER键就没问题了~~欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)