imx6 android开机启动守护进程

时间:2021-10-26 09:21:46

由于项目中需用到自己的编写的两个底层命令行程序,并且让系统开机就自启动这两个程序。

我把这两个程序写成了守护进程。并自一个shell脚本中执行启动这两个程序的命令,这样,我设置adroid开机启动的时候就只有启动这个脚本就行了。

做好以上两点,接下来就是添加相应的拷贝动作了。这个动作需要自己添加的吗?当然,大部分情况下Android在编译的时候是不会自动添加你新增的文件的。


device/fsl/sabresd_6dq/BoardConfig.mk文件中,

我们需要做的,就是将以下内容添加到上述文件合适的位置:

PRODUCT_COPY_FILES += \

device/fsl/sabresd_6dq/start_syAudio.sh:system/etc/start_syAudio.sh
“:”前面是文件源路径,后面的是目的路径。

这样,Android在执行编译的时候就会把新增文件拷贝至相应的目标路径去了,拷贝动作已经实现.


接下来添加启动动作:

device/fsl/sabresd_6dq/init.rc文件末尾处加入以下内容

chown root shell /system/etc/start_syAudio.sh
chmod 0550 /system/etc/start_syAudio.sh

service mount-usbfs /system/etc/start_syAudio.sh
class main
user root
group root
oneshot


在这里:system/core/include/private/android_filesystem_config.h中修改权限

static struct fs_path_config android_files[] 中加入:

{ 00550, AID_ROOT,      AID_SHELL,   0,  "system/etc/start_syAudio.sh" },

保存编译就可以了



注意:上面的步骤记录只是为了说明如何在编译阶段让android自己拷贝文件,实际上按照我这方法自启动脚本,有个问题,就是执行到我这个脚本时,android就好像阻塞了,进不去Android的界面,暂未解决,应该是开机启动的方式不对,路过的朋友有知道怎么玩的,欢迎留言!