这几天研究安卓的init程序,发现有几个点需要注意:
1、在2.2版本中init.$(ro.hardware).rc是在代码中读取的,而在4.0中通过把import关键字的flag也作为SECTION而在init.rc中import进来的
2、以on 开始到后面的on 或service 之间为该action的COMMAND
3、以service 开始到后面的on 或service 之间为该service的OPTIONS
4、非disabled的服务都有一个class类别,通过class_start关键字启动
5、disabled的服务可以通过设置属性ctl.start servicename启动,通过ctl.stop servicename停止;一个例子为bootanimation,该服务在frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp的readyToRun()里启动,且在bootFinished()里面停止。
1、在2.2版本中init.$(ro.hardware).rc是在代码中读取的,而在4.0中通过把import关键字的flag也作为SECTION而在init.rc中import进来的
2、以on 开始到后面的on 或service 之间为该action的COMMAND
3、以service 开始到后面的on 或service 之间为该service的OPTIONS
4、非disabled的服务都有一个class类别,通过class_start关键字启动
5、disabled的服务可以通过设置属性ctl.start servicename启动,通过ctl.stop servicename停止;一个例子为bootanimation,该服务在frameworks/base/services/surfaceflinger/SurfaceFlinger.cpp的readyToRun()里启动,且在bootFinished()里面停止。