读书人

Android初始化语言 (init.rc、init.co

发布时间: 2012-08-26 16:48:06 作者: rapoo

Android初始化语言 (init.*.rc、init.conf文件格式)

Android初始化语言 (init.*.rc、init.conf文件格式)

??? Android初始化语言包含了四种类型的声明:Actions (行动)、Commands (命令)、Services (服务)和Options (选项)。

??? 所有这些都是以行为单位的,各种记号由空格来隔开。C语言风格的反斜杠号可用于在记号间插入空格。双引号也可用于防止字符串被空格分割成多个记

init.conf实例
-----------------

# not complete -- just providing some examples of usage
#
on boot
?? export PATH /sbin:/system/sbin:/system/bin
?? export LD_LIBRARY_PATH /system/lib

?? mkdir /dev
?? mkdir /proc
?? mkdir /sys

?? mount tmpfs tmpfs /dev
?? mkdir /dev/pts
?? mkdir /dev/socket
?? mount devpts devpts /dev/pts
?? mount proc proc /proc
?? mount sysfs sysfs /sys

?? write /proc/cp /alignment 4

?? ifup lo

?? hostname localhost
?? domainname localhost

?? mount yaffs2 mtd@system /system
?? mount yaffs2 mtd@userdata /data

?? import /system/etc/init.conf

?? class_start default

service adbd /sbin/adbd
?? user adb
?? group adb

service usbd /system/bin/usbd -r
?? user usbd
?? group usbd
?? socket usbd 666

service zygote /system/bin/app_process -Xzygote /system/bin --zygote
?? socket zygote 666

service runtime /system/bin/runtime
?? user system
?? group system

on device-added-/dev/compass
?? start akmd

on device-removed-/dev/compass
?? stop akmd

service akmd /sbin/akmd
?? disabled
?? user akmd
?? group akmd

调试记录
---------------
在默认情况下,程序在被init执行时会将标准输出和标准错误都重定向到/dev/null (丢弃)。若你想要获得调试信息,你可以通过Andoird系统中的logwrapp

例如:
service akmd /system/bin/logwrapper /sbin/akmd

?

http://hi.baidu.com/zhlg_hzh/blog/item/4ad24a807c71d3db9023d967.html

?

读书人网 >Android

热点推荐