init 实现一个 Service,来帮助 Android 拷贝 /system/media/ 目录的文件到 /sdcard/ 目录
首先打开 RK 的固件工厂工具,选中需要修改的烧录程序 update.img 进行解包。
接下来开始写脚本程序:
1、需要在 Temp/Boot/Boot/init.rk30board.rc 文件中添加 Service:
#andrew add for copy files from /system/media to /sdcard
on 1
service cpfiles /system/bin/cpfiles.sh
class main
user root
group system audio camera graphics inet net_bt net_bt_admin net_raw sdcard_rw
start cpfiles
这是一个 Service 的一个格式,其中 cpfiles 是 Service 的名字,cpfiles.sh 是可执行脚本,其中 /system/bin/cpfiles.sh 是可执行文件的完整的路径。
2、写可执行的脚本 cpfiles.sh.
从任何一个 *.sh 文件复制一个副本,修改文件名为 cpfile.sh,修改其中的内容为:
#!/system/bin/sh
#copy files frome /system/ to /sdcard
/system/bin/busybox cp /system/media/floorfiller.mp3 /sdcard/
/system/bin/busybox cp /system/media/what_i_have_done.mp4 /sdcard/
/system/bin/rm /system/media/floorfiller.mp3
/system/bin/rm /system/media/what_i_have_done.mp4
保存文件为 cpfiles.sh。
3、在 /system/media/ 目录下放入 floorfiller.mp3 和 what_i_have_done.mp4 两个音频和视频文件。
然后点击固件工厂工具的确认修改,然后使用量产工具进行下载。之后在 Android 系统的资源管理器中可以看到音频和视频文件。
如果不使用固件工厂工具,直接修改 Android 源代码的路径中的相应的文件也是一样的,具体方法应该类似。