init.rc介绍

init.rc介绍

  • init.rc(system/core/rootdir/init.rc)是由Android Init Language编写(init语言说明)
Android init语言关键字定义在system/core/init/keywords.h文件中
  • init.rc编译到手机中,位于手机系统的根目录下。adb shell ll 可以看到init.rc
  • The Android Init Language包含四种类型:Actions, Commands, Services, and Options.

Actions格式:

on <trigger>
  <command>
  <command>
  <command>

Services格式:

service <name> <pathname> [ <argument> ]*
  <option>
  <option>
  ...

Options是用来修饰services.他们会影响到service何时,如何去初始化,常见的Options包括:

critical:critical修饰的service是一个device-critical service,如果在4分钟内退出超过4次,设备就会重启到recovery模式
disabled:disabled修饰的service将不会自动启动,必须明确的已名字来启动.
setenv <name> <value>:在启动过程中,给name变量设置value值
socket <name> <type> <perm> [ <user> [ <group> [ <context> ] ] ]
user <username>
group <groupname> [ <groupname> ]*
seclabel <securitycontext>
oneshot:当服务退出时,不会重新启动。
class <name>:为service指定一个class name。被指定的同一个类中的所有services可能会同时被启动和停止。如果没有指定name,那么默认为default。
onrestart:当service重启时,执行一个命令

Commands:

exec <path> [ <argument> ]*
export <name> <value>
ifup <interface>
import <filename> 
hostname <name>
chdir <directory>
chmod <octal-mode> <path>
chown <owner> <group> <path>
chroot <directory>
class_start <serviceclass>
class_stop <serviceclass> 
domainname <name>
enable <servicename>
insmod <path>
mkdir <path> [mode] [owner] [group]
mount <type> <device> <dir> [ <mountoption> ]*
restorecon <path> [ <path> ]*
restorecon_recursive <path> [ <path> ]*
setcon <securitycontext>
setenforce 0|1
setkey
setprop <name> <value>
setrlimit <resource> <cur> <max>
setsebool <name> <value>
start <service>
stop <service>
symlink <target> <path>
sysclktz <mins_west_of_gmt>
trigger <event>
wait <path> [ <timeout> ]
write <path> <string> [ <string> ]*

eg:

# adbd is controlled via property triggers in init.<platform>.usb.rc
service adbd /sbin/adbd
   class core
   socket adbd stream 660 system system
   disabled
   seclabel u:r:adbd:s0

返回上级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值