需求描述

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"