需求描述
android系统开机自动启动并执行的shell脚本
实现方案
- 新建并编写文件upbridge.sh,将该shell脚本文件放在
device/qcom/common/rootdir/etc/
目录下
#!/system/bin/sh
netcfg eth0 up
- 在init.rc中创建该服务
system/core/rootdir/init.rc
#编写自己要执行的服务
service upbridge /system/bin/upbridge.sh
user root
group root
disabled
#在init.rc中启动该服务
on property:sys.boot_completed=1
start upbridge
#当权限不足时,添加权限
chown root shell /system/bin/upbridge.sh
chmod 0550 /system/bin/upbridge.sh
- 将该脚本从编译路径下拷贝到生成系统文件的指定路径下
device/qcom/msm8953_64/msm8953_64.mk
PRODUCT_COPY_FILES += \
device/qcom/common/rootdir/etc/upbridge.sh:system/bin/upbridge.sh
- 以上三步完成后,就会在系统启动后去自动执行该服务了,这样就达到了用root权限去执行我们要执行的命令的目的了。
Tips:可将脚本拷贝到
system/bin/
目录下 ,手动执行脚本,确认脚本无误之后加入到系统里面编译
扩展
- init.rc语法介绍
- 查看正在运行的脚本
ps aux | grep "upbridge.sh"