【原创】Android下C/C++实现通用自启动守护实现
1. Android操作系统架构
Android系统分为四个层,从高到底分别是:应用程序层(Application)、应用程序框架层(Application Framework)、系统运行库层(Libraries)和Linux内核层(Linux Kernel)。
Android操作系统最底层还是Linux内核,我们就从Linux内核开始着手。
2. Linux配置自启动原理
Linux加载后, 将初始化硬件和设备驱动, 然后运行第一个进程init。init根据配置文件继续引导过程,启动其它进程。通常情况下,修改放置在 /etc/rc或 /etc/rc.d目录下的脚本文件,可以使init自动启动其它程序。例如:编辑 /etc/rc.d/rc.local 文件。
3. 打造Android自启动守护
根据Linux配置自启动原理方案,我们也对Android进行一个分析。Android对应的自启动脚本为init.rc文件。
以下脚本代码即为启动/system/bin/daemon应用为daemon服务进行启动
service daemon /system/bin/daemon
class main
console
oneshot
其中console表示服务需要并运行在控制台,oneshot表示服务只运行一次,在退出时将服务设置为禁用,class main对应class_start main启动main类型的服务。
4. 小结
通过以上的分析,相信大家都能够明白怎么做系统自启动了。
本文网址: