首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android启动脚本init.rc(二)

2012-08-30 
Android启动脚本init.rc(2)转载script/script标签:it分类: 技术 !-- 正文开始 --在Android中使用启

Android启动脚本init.rc(2)
转载<script></script>标签:it分类: 技术 <!-- 正文开始 -->

在Android中使用启动脚本init.rc,可以在系统的初始化中进行简单的操作。

init.rc启动脚本路径:system/core/rootdir/init.rc

内容:

Commands:命令Actions:动作Triggers:触发条件Services:服务Options:选项Properties:属性

Commands是一些基本操作。如:

??? mkdir /system
??? mkdir /data 0771 system system
??? mkdir /persist 0771 system system
??? devwait /dev/block/mmcblk0p12
??? mount ext3 /dev/block/mmcblk0p

Action表示一系列命令,通常在Triggers中调用,如:


??? on init?????????? //表示一个触发条件

????sysclktz 0

??? loglevel 3

??? # setup the global environment
??? export PATH /sbin:/system/sbin:/system/bin:/system/xbin
??? export LD_LIBRARY_PATH /system/lib
??? export ANDROID_BOOTLOGO 1

Services通常表示启动一个可执行程序,Options是服务的附加内容,用于配合服务使用。

??? service vold /system/bin/vold????? //vold是服务名称,/system/bin/vold是所对应的可执行程序。
??? socket vold stream 0660 root mount?? //socket是配合服务使用的选项
??? ioprio be 2

??? service netd /system/bin/netd
??? socket netd stream 0660 root system

配合服务使用的选项有socket,user,group,oneshot。

oneshot表示该服务只启动一次,而如果没有oneshot选项,这个可执行程序将一直存在——如果可执行程序被杀死,则会重新启动。

Properties是系统中使用的一些值,可以进行设置和读写。

????setprop ro.HIDDEN_APP_MEM 5120?????????//setprop用于设置属性
??? setprop ro.CONTENT_PROVIDER_MEM 5632
??? setprop ro.EMPTY_APP_MEM 6144

??? ...

??? on property:ro.kernel.qemu=1?????? //on property用于判断属性
??? start adbd

这里的属性在整个android系统运行中都是一致的。

init脚本的关键字可以参考init进程中的system/core/init/keyword.h文件。如:

KEYWORD(chroot,????? COMMAND, 1, do_chroot)???? //chroot是命令,do_chroot()是调用的函数,这个函数在init进程中的system/core/init/builtins.c文件中定义。

?

init.rc使用方法,见说明文件system/core/init/readme.txt

?

?

http://blog.sina.com.cn/s/blog_6fba73770100nn6h.html

热点排行