Android      aosp启动流程4-init.rc简介   
文章目录  [隐藏]

参考:
https://blog.csdn.net/m0_49328056/article/details/121883742
https://blog.csdn.net/u012944254/article/details/101453486

接前文 http://www.gaohaiyan.com/4035.html
init流程的第二阶段SecondStageMain,这个函数中加载rc文件并解析,及启动各种service、action,监听事件。

1.rc文件

system/core/rootdir/init.rc
文本内容,如果一行文本以“import、on、service”开始,就认为是一个‘section’。如果以“#”开始表示注释。

当有事件触发一个Action后,这个action的command自上而下依次执行。
Action的tigger有如下几种:

command有如下几种:


Service是可执行程序,它们在特定选项的约束下会被init程序运行或者重启(service可以在配置中指定是否需要退出时重启,这样当service出现异常或者程序crash时候就有机会复原)
Service的Options有如下几种:


2. rc文件的加载和解析过程

SecondStageMain --> LoadBootScripts --> ParseConfig --> ParseConfigFile --> ParseData --> ParseSection(3种)

代码:
%lineage%/system/core/init/init.cpp





%lineage%/system/core/init/parser.cpp 约184行 bool Parser::ParseConfig(const std::string& path)


- end

承接App定制、企业web站点、办公系统软件 设计开发,外包项目,毕设