一、看下面的Android.mk 的,里面有个LOCAL_INIT_RC,那这个什么意思呢?
二、编译宏LOCAL_INIT_RC用于将服务相关的RC文件编译到相应位置。上面的Android.mk通过LOCAL_INIT_RC将对应的batterywarning.rc编译到/system/etc/init目录中。
三、 来看一下batterywarning.rc,可以看出sys.boot_completed等于1的时候就执行这个bin文件。
四,那在哪里解析这个rc文件呢?这个问题曾经让我非常疑惑。经过分析知道是在system\core\init\init.cpp里面的LoadBootScripts解析。
五、我分析vendor.mediatek.hardware.nvram@1.1-sevice.rc的时候,这个文件是再vendor/etc/init/目录下。
六、参考文章