为了在启动时在Android上执行脚本(Samsung Note 10.1(N8010),4.4.2),我在init.rc
的末尾添加了以下内容(解包/重新打包boot.img
)让它作为服务运行:
service test /system/bin/test_script.sh
class main
oneshot
脚本如下所示:
#!/system/bin/sh
mkdir /sdcard/test_directory
最终应该做其他事情,但是为了测试我保持简单。权限为0755
。
问题是,目录/sdcard/test_directory
没有被创建,这使我相信该服务永远不会被启动,即脚本永远不会被执行。
我已经尝试过其他线程中提到的很多内容。
例如,将行user root
添加到服务,重新启动多次(因为在闪烁boot.img
后立即启动设备后显然没有启动服务)或将脚本放在不同的文件夹中,如{{ 1}}或/system/etc/
。
知道可能是什么问题吗?
有可能以某种方式监视服务是否实际启动(可能是,但问题在于脚本)?
甚至可能有更好的方法在启动时执行脚本(设备没有/data/local/tmp
支持,我也不想使用像Unversal Init.d这样的应用程序?
编辑:
不知道为什么,但它现在有效。
多次移动脚本,最后将其放在/ data下并删除文件扩展名。还为脚本添加了更多行,例如init.d
。虽然没有创建mkdir /data/local/tmp/test_directory
下的目录(可能是权限问题?)。可能是原因,为什么我认为脚本没有被执行,如果它已经存在过。
问题是:有没有办法监控服务是否实际启动?