我正在尝试运行一个在设备完成启动时执行的脚本。此特定设备不支持从 init.d 目录运行脚本,这就是我使用 init.rc 的原因。
init.rc 文件已修改为包含以下代码
on property:sys.boot_completed=1
start initAsic
service initAsic /data/local/tmp/runn.sh
user root
group root
oneshot
Run Code Online (Sandbox Code Playgroud)
然后启动映像被重建并刷新到设备。可以通过查看位于以下位置的 init.rc 文件来确认更改/
目前我只使用一个简单的测试脚本(testScript.sh),它发出以下命令
echo hi >> /data/local/tmp/test.txt
Run Code Online (Sandbox Code Playgroud)
testScript.sh 和 text.txt 文件已777设置权限,并且均已使用 推送到设备adb push。他们当前的位置是/data/local/tmp/
由于某种原因,我的脚本似乎没有运行,因为我看不到任何文本被写入 test.txt。
我错过了什么吗?会不会是 SELinux 的问题?
我的设备当前已将 SElinux 设置为宽容。这是通过更改 BoardConfig.mk 文件并重建 boot.img 来完成的。