Android启动之配置文件分析

Android启动之配置文件分析


本篇主要包括如下内容:

init.rc语法介绍

补充说明


一、init.rc语法介绍

1,init.rc是一个可配置的初始化文件,通常定制厂商可以配置额外的初始化配置,init.%PRODUCT%.rc

2,init.rc是在$GINGERBREAD/system/core/init/init.c中读取的,它基于“行”,包含一些用空格隔开的关键字(它属于特殊字符)

3,如果关键字中有空格,处理方法类似于C语言,使用/表示转义,使用“”防止关键字被断开,另外注意/在末尾表示换行

4,#开头的表示注释

5,init.rc包含4种状态类别:Actions/Commands/Services/Options

6,当声明一个service或者action的时候,它将隐式声明一个section,它之后跟随的command或者option都将属于这个section

7,action和service不能重名,否则忽略为error

8,actions就是在某种条件下触发一系列的命令,通常有一个trigger,形式如:

on <trigger>
     <command>
     <command>

9,service结构如下:
service <name> <pathname> [ <argument> ]*
     <option>
     <option>

10,option是service的修饰词,主要包括:

critical :表示如果服务在4分钟内退出超过4次,则系统重启到recovery mode

disabled :表示服务不会自动启动,需要显示调用服务名来启动

setEnv <name> <value> :设置环境变量<name>为某个值<value>

socket <name> <type> <permission> [<user> [<group>]] :开启一个unix域的socket,名字为/dev/socket/<name> , fd值传给启动它的进程。<type>只能是dgram,stream 或 seqpacket,而<user>和<group>默认为0

user <username> :表示将用户切换为<username>, 默认情况下用户都是root。

group <groupname> :表示将组切换为<groupname>

oneshot :表示这个service只启动一次

class <name> :指定一个要启动的类,这个类中如果有多个service,将会被同时启动。默认的class将会是“default”

onrestart :当此服务重启时,执行某些命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值