Android init.rc

1. init.rc 中Service的三种启动方式?

    a. 自动启动;即属性值不含有disable的service,会在init进程启动过程中启动。

    b. 通过属性触发来启动;通过设置属性,当属性满足的时候,启动service;

    c. 通过ctl.start来启动。

  

   其中a是在on boot中通过command 

    class_start core
    class_start main

来启动。

   b 的例子如下:

on property:ro.kernel.qemu=1
    start adbd


  c的例子如下:

service console /system/bin/sh
    class core
    console
    disabled
    user shell
    group log

设置console为disable,然后通过property_set("ctl.start", name)来启动。

ServiceManager.cpp封装了start,stop,还有isRunning函数,分别用来启动一个service,停止一个service,获取service的状态。


2. init.rc文件的解析方式

init.rc文件的解析是以行为单位,以空格或者tab键位分割符号。

每一行的开头,都是一个关键字,对应于action,command,service或者option中的一个。余下的就是参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值