OH4.1R 添加一个开机运行的脚本
文章主题 看到有很多小伙伴在问如何添加一个开机脚本,开机执行自定义的命令,这里分享一下个人的调试经验。 1.制作开机脚本 首先要制作一个脚本,可以使用如下方法创建,需要给予脚本可执行权限。 touch startapp.sh //创建脚本 chmod 777 startapp.sh //给予读写执行权限 ls -l startapp.sh 2.编写脚本内容 这一步可以把需要开机执行的命令写入
·
文章主题
看到有很多小伙伴在问如何添加一个开机脚本,开机执行自定义的命令,这里分享一下个人的调试经验。
1.制作开机脚本
首先要制作一个脚本,可以使用如下方法创建,需要给予脚本可执行权限。
touch startapp.sh //创建脚本
chmod 777 startapp.sh //给予读写执行权限
ls -l startapp.sh
2.编写脚本内容
这一步可以把需要开机执行的命令写入脚本。
#!/bin/sh
sleep 10
uptime >> /data/1.txt
echo "start ability success" >> /data/1.txt
3.内置脚本到系统编译
a. 在源码新建"device/board/hihope/rk3568/startapp"文件夹,把写好的脚本复制进来。
b.新建或者复制其他文件夹里的一个"BUILD.gn"编译模块文件到startapp文件夹里面,修改build.gn文件把startapp.sh加入系统编译。
import("//build/ohos.gni")
ohos_prebuilt_executable("startapp") {
source = "startapp.sh"
install_enable = true
part_name = "rockchip_products"
}
c.修改上层目录的device/board/hihope/rk3568/BUILD.gn文件。
--- a/device/board/hihope/rk3568/BUILD.gn
+++ b/device/board/hihope/rk3568/BUILD.gn
@@ -22,6 +22,7 @@ group("rk3568_group") {
"kernel:kernel",
"updater:updater_files",
+ "startapp:startapp",
"//device/soc/rockchip/rk3568/hardware:hardware_group",
d.这一步完成可以先编译固件验证一下,编译完成后脚本会内置到开发板系统的system/bin目录里面;
如图所示,成功内置了脚本。
4.最后一步,在开机流程里面执行脚本
--- a/foundation/systemabilitymgr/safwk/etc/profile/foundation.cfg
+++ b/foundation/systemabilitymgr/safwk/etc/profile/foundation.cfg
@@ -18,7 +18,8 @@
"mkdir /data/service/el1/public/window 0711 foundation foundation",
"mkdir /data/service/el1/public/database/common_event_service 02770 foundation ddms",
"mkdir /data/service/el1/public/database/auto_startup_service 02770 foundation ddms",
- "mkdir /data/service/el1/public/database/app_exit_reason 02770 foundation ddms"
+ "mkdir /data/service/el1/public/database/app_exit_reason 02770 foundation ddms",
+ "exec system/bin/startapp.sh &"
注:如果只是简单的一两句命令,可以直接在此处添加,但是会有写入命令后无法修改,灵活性不好;做成脚本后,可以直接修改脚本来改变开机执行的命令,改完再推入系统,比较方便;
5.结束
好了,今天的分享就到这里,内置脚本亲测可用,感兴趣的小伙伴可以动手试试,也欢迎同学们在评论区提出自己的意见;
更多推荐
已为社区贡献5条内容
所有评论(0)