加载中…
个人资料
狗蛋
狗蛋
  • 博客等级:
  • 博客积分:0
  • 博客访问:19,116
  • 关注人气:2
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

Android——init.rc脚本

(2010-12-22 16:47:51)
标签:

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

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有