Android默认的启动脚本有init.rc init.xxx.rc init.xxx.sh
(1)执行特定Linux程序
service bin path/bin
service wpa_supplicant /system/bin/wpa_supplicant
(2)执行特定脚本
service scriptname path/scriptname.sh
(3)利用busybox添加类似Linux的启动脚本init.d
service sysinit /system/bin/busybox run-parts /system/etc/init.d
利用这个方法,就可以像Linux启动项一样写一些Shell下的启动脚本了
(4)直接修改Android提供的脚本,与之类似,可以参考init.goldfish.sh
而且能够利用getprop / setprop等编写合适条件的脚本。
另外,可以加入disabled,等待条件用start sysinit启动该服务。
加入oneshot,避免由于执行阻塞init进程。