1. 前言
基于上一篇继续说明
2. init.rc目录结构
system/core/rootdir/ ├── Android.mk ├── etc │ ├── hosts │ ├── init.testmenu │ └── mountd.conf ├── init.environ.rc.in ├── init.rc ├── init.trace.rc ├── init.usb.rc ├── init.zygote32_64.rc ├── init.zygote32.rc ├── init.zygote64_32.rc ├── init.zygote64.rc └── ueventd.rc
Android 在system/core/init/readme.txt 文件中对rc脚本语言规则进行了说明.
rc脚本主要包括了 Actions, Commands, Services, 和Options 4种类型声明.
Init.rc文件基本组成单位是section.,有Actions和Services、Import三种类型。
3. init.rc脚本格式
(1)Actions
Android rc脚本文件中Action,以关键字on开始,在关键字on和下一个关键字on之间为一个section;
Action中关键字on后面的字符串是trigger,用于决定Action执行的时机.Action被执行时,其中的Command也会被逐一运行. Actions格式如下:
on <trigger>
<command>
<command>
<command>
struct action {
struct listnode alist; /* actions链表节点 */
struct listnode qlist; /*等待执