添加开机自启动 Shell 脚本
很多时候,我们想在系统启动的时候干一些“私活”,这个时候,我们就可以添加开机自启动的脚本来完成。下面我们介绍一个简单的示例:
在 device/Jelly/Rice14
目录下添加如下的文件与文件夹:
initscript
├── Android.bp
├── initscript.rc
└── initscript.sh
sepolicy #部分文件为 seandroid 入门添加的内容
├── device.te
├── file_contexts
├── hello_se.te
└── initscript.te
initscript.sh 是一个简单的 shell 脚本:
#!/vendor/bin/sh
echo "this is init script"
log -t initscript "this is initscript!" #打 log
需要注意的是 shebang 的内容是 #!/vendor/bin/sh
。
initscript.rc 的内容如下:
service initscript /vendor/bin/initscript
class main
user root
group root system
oneshot
- class main 指明当前服务时系统的基本服务,保证了系统启动时,会启动这个服务
- oneshot 表示服务只执行一次
Android.bp 的内容如下:
cc_prebuilt_binary {
name: "initscript",
srcs: ["initscript.sh"],
init_rc: ["initscript.rc"],
strip: {
none: true