标题:
Android init.rc浅析
[打印本页]
作者:
wxg1988
时间:
2013-11-6 22:47
标题:
Android init.rc浅析
本文主要来自
$ANDROID_SOURCE/system/init/readme.txt
的翻译
.由于最近要准备视频的教程,因此花了很长时间准备了一点相关的资料,中文太少啊,所以根据自己的水平加上几位朋友的帮助,完成了以下文档的翻译相关工作,在此表示感谢!
1 简述
Android init.rc
文件由系统第一个启动的
init
程序解析,此文件由语句组成,主要包含了四种类型的语句
:Action,Commands,Services,Options.
在
init.rc
文件中一条语句通常是占据一行
.
单词之间是通过空格符来相隔的
.
如果需要在单词内使用空格,那么得使用转义字符
"\",
如果在一行的末尾有一个反斜杠,那么是换行折叠符号,应该和下一行合并成一起来处理,这样做主要是为了避免一行的字符太长,与
C
语言中的含义是一致的。注释是以
#
号开头。
Action
和
services
显式声明了一个语句块,而
commands
和
options
属于最近声明的语句块。在第一个语句块之前 的
commands
和
options
会被忽略
.
在具体讲解这之前,有些关键词得先了解
.
2 关键字
token
:计算机语言中的一个单词,就跟英文中的单词差不多一人概念
.
section
:语句块,相当于
C
语言中大括号内的一个块。一个
Section
以
Service
或
On
开头的语句块
.
以
Service
开头的
Section
叫做服务
,
而以
On
开头的叫做动作
(Action).
services
:服务
.
action: 动作
commands:命令
.
options:选项
.
trigger:
触发器,或者叫做触发条件
.
class: 类属,即可以为多个
service
指定一个相同的类属,方便操作同时启动或停止
.
3 语句解析
3.1 动作
(Action)
动作表示了一组命令
(commands)
组成
.
动作包含一个触发器,决定了何时执行这个动作。当触发器的条件满足时,这个动作会被加入到已被执行的队列尾。如果此动作在队列中已经存在,那么它将不会执行
.
一个动作所包含的命令将被依次执行。动作的语法如下所示
:
on <trigger>
<command>
<command>
<command>
3.2 服务
(services)
服务是指那些需要在系统初始化时就启动或退出时自动重启的程序
.
它的语法结构如下所示
:
service <name> <pathname> [ <argument> ]*
<option>
<option>
...
3.3 选项(
options)
选项是用来修改服务的。它们影响如何及何时运行这个服务
.
选项
描述
c
当服务重启时执行一条指令,
3.4 触发器
(trigger)
触
[table][/table]
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0