最近在做一个项目,需要在开机的时候,运行一段小shell脚本,我在按照网上的各种教程实现的时候,发现一个非常重要的问题,就是shell脚本里的echo没有重定向到dmesg里面。后面我自己做了个小小的修改,达到自己的要求。
下面是整个流程
1、写一个shell脚本
注意!!因为echo的日志不会显示在dmesg里面,这样重定向到文件会更好查看日志
2、之后在 init.rc 文件的最后加上
注意!!服务的名字不要有下划线‘_’,没完全理解,请不要另类
上面这一段是添加了一个服务。
然后,还需要在init.rc里添加这么一段代码:
作用是启动前面添加的服务。
注意:init.rc 文件的执行是有特定的顺序的,添加这些代码的时候,最好都放在和原来 init.rc 里面格式类似的地方
3、源码拷贝文件
你可以把你需要执行的工具或脚本直接放在/out/…/system/bin的目录下,也可以放在你的源码中
这些做完之后,编译,烧写,在Android启动的时候,就会自动执行你添加的服务了。
4、添加selinux权限
注意!!在factoryboot.te里面有一个permissive factoryboot;这个用来说明如果权限有问题也执行脚本,这个权限非常有用。
领取专属 10元无门槛券
私享最新 技术干货