您的位置:华清远见教育科技集团 >> Android资料 >> Android init.rc脚本语法  
 
Android init.rc脚本语法
分享到:

正如《Android开机启动过程》一文中所讲的,在Android中启动system\core\rootdir\init.rc脚本后,系统的初始化过程中进行一些简单的初始化操作。首先创建系统运行所需的各种环境变量,接着创建各种文件系统(如系统文件系统、用户文件系统、SD Card、缓存(Cache)等)的挂载点,并将这些文件系统挂载到MTD(Memory Technology Device)上。

init.rc这个脚本被直接安装到目标系统的根文件系统中,被 init可执行程序解析。为了让大家理解init.rc脚本,本文会对init.rc脚本的编写做简要的说明。在init.rc脚本中,有4种类型的命令方式,分别为"Actions"、"Commands"、"Services"和"Options"。

"Actions"的命令行参数如下:

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

"Commands"的方法包括:

exec <path> [ <argument> ]*      //创建进程
    export <name> <value>           //设置环境变量
    ifup <interface>                //激活网络接口
    import <filename>              //导入配置文件
    hostname <name>                //设置主机名
    chmod <octal-mode> <path>      //改变文件权限
    chown <owner> <group> <path>    //改变文件归属
    class_start <serviceclass>     //启动特定服务
    class_stop <serviceclass>      //停止特定服务
    domainname <name>              //设置守护进程名
    insmod &l;tpath>               //安装共享库
    mkdir <path> [mode] [owner] [group]                //创建路径
    mount <type> <device> <dir> [ &l;tmountoption> ]*   //挂载文件系统
    setkey                          //按键映射
    setprop <name> <value>           //设置系统属性
    setrlimit <resource> <cur> <max>  //设置资源限制
    start <service>                  //启动服务
    stop <service>                   //停止服务
    symlink <target> <path>          //创建符号链接
    sysclktz <mins_west_of_gmt>      //设置系统时区
    trigger <event>                  //触发事件
    write <path> <string> [ <string> ]*  //打开文件并写入内容

"Services"的命令行参数如下:

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

"Options"为"services"的补充,其方法包括:

Critical               //系统核心服务,可导致系统重启
    Disabled              //服务必须显式启动
    setenv <name> <value> //设置环境变量
    socket <name> <type> <perm> [ <user> [ <group> ] ]   //创建套接字
    user <username>       //改变用户归属
    group <groupname> [ <groupname> ]*   //改变用户归属
    neshot                //指明不能重启服务
    class <name>         //指定服务的类名
    onrestart           //服务重启时执行命令
    Triggers            //触发器
    Boot                //初始化过程的第一个触发器
    <name>=<value>       //属性触发
    device-added-<path>  //设备添加时触发
    device-removed-<path> //设备移除时触发
    service-exited-<name> //当特定服务存在时触发

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

init.rc的使用方法,可以参考说明文件system/core/init/readme.txt

如果想要修改启动过程只需要修改init.c(system/core/init)或者init.rc里的内容即可.

 更多相关文章

·Android开机启动过程
·Android进程的生命周期
·Android常用组件生命周期
·Android Resources资源
·Android Data Storage