Android 的初始化语言脚本init
rc 解析 Android init
rc (Android init language) Android 初始化语言由四大类声明组成:行为类(Actions),命令类(Commands),服务类(Services),选项类(Options)
* 初始化语言以行为单位,由以空格间隔的语言符号组成
C 风格的反斜杠转义符可以用来插入空白到语言符号
双引号也可以用来防止文本被空格分成多个语言符号
当反斜杠在行末时,作为折行符
* 以 #开始(前面允许有空格)的行为注释行
* Actions 和 Services 隐含声明一个新的段落
所有该段落下Commands 或 Options 的声明属于该段落
第一段落前的Commands 或 Options 被忽略
* Actions 和 Services 拥有独一无二的命名
在它们之后声明相同命名的类将被当作错误并忽略
Actions ------- Actions 是一系列命令的命名
Actions 拥有一个触发器(trigger)用来决定action 何时执行
当一个action 在符合触发条件被执行时,如果它还没被加入到待执行队列中的话,则加入到队列最后
队列中的action 依次执行,action 中的命令也依次执行
Init 在执行命令的中间处理其它活动(设备创建/销毁,property 设置,进程重启)
Actions 表现形式为: on Services -------- Services 是由init 启动,在它们退出时重启(可选)
Service 表现形式为: service [ ]*
Options ------- Options 是 Services 的修饰,它们影响init 何时、如何运行service
critical 这是一个设备关键服务(