Android5.1 在init.rc 中添加自己的服务

我有一个需求就是在Android系统开机的时候把一个配置文件放到Android系统的data目录中。
我使用的方法就是在 init.rc 中添加一个服务,这个服务就是执行一个将文件拷贝到指定目录的脚本,下面是添加服务的方法.

首先,写一个脚本mveGTouchA.sh, 这个脚本的内容就是把一个配置文件放到data目录中:

#! /system/bin/sh

cp /system/etc/eGTouchA.ini /data
echo "copy eGTourchA.ini done"

之后在 init.rc 文件的最后加上:

service mveGTouchA /system/bin/mveGTouchA.sh
    class main
    user root
    group root
    oneshot

上面这一段是添加了一个服务。

然后,还需要在init.rc里添加这么一段代码:

on property:sys.boot_completed=1
    start mveGTouchA

作用是启动前面添加的服务。
注意:init.rc 文件的执行是有特定的顺序的,添加这些代码的时候,最好都放在和原来 init.rc 里面格式类似的地方

你可以把你需要执行的工具或脚本直接放在/out/…/system/bin的目录下,也可以放在你的源码中,然后修改 device.mk , 在系统启动的时候,将你要执行的工具或脚本拷贝到 /out/…/system/bin 下。
下面是修改 device.mk 的范例:

PRODUCT_COPY_FILES += \
    device/rockchip/rk3288/mveGTouchA.sh:/system/bin/mveGTouchA.sh \

这些做完之后,编译,烧写,在Android启动的时候,就会自动执行你添加的服务了。

如果喜欢我写的博客,也可以微信搜索公众号: 学吧程序员 关注我的公众号

你可能感兴趣的:(Android,Embedded)