1. 添加系统服务
1.1 添加方式1:(不加入servicemanager统一管理的)
看Android6.0.1 init.rc解析中的第2章和第3章
方式1:
1). 写一个测试脚本test.sh就当做服务,然后在系统启动的时候自动执行:device/fsl/sabresd_6dq/test.sh
#! /system/bin/sh #上面的#! /system/bin/sh必须要加上,是给系统看的,否则不执行 cp /system/etc/ota.conf /data/local echo "this is testing!!!"
2). 在device目录下的init.rc中添加服务:device/fsl/sabresd_6dq/init.rc
service test /system/bin/test.sh class late_start oneshot
3). 源码中的文件拷贝到生成目录(out/target)下面:device/fsl/imx6/sabresd_6dq.mk
PRODUCT_COPY_FILES += device/fsl/sabresd_6dq/test.sh:system/bin/test.sh ...
方式2:
如果不想在源码中进行修改,也可以把修改的文件都放在/out目录下,然后不要3)中的修改mk。只要不清除,文件就会存在
4). 查看编译后的结果验证:
查看out/target/product/sabresd_6dq/root/init.fresscale.rc 是否添加了
查看out/target/product/sabresd_6dq/system/bin有没有test.sh
5). 1.source build/envsetup.sh; lunch; make