1、写一个脚本复制文件
#!/system/bin/sh
FLAG_FILE=/data/local/tmp/preinstalled
SOURCE_FILE=/vendor/etc/moyujun.db
TARGET_FILE=/data/data/com.moyujun.demo/databases/moyujun.db
SLEEP_TIME=2
# 检测是否进行过数据替换
if [ ! -f $FLAG_FILE ]; then
while true; do
# 判断一下文件是否存在
if [ -f $TARGET_FILE ]; then
echo "file installed!!!"
# 写一下属性
setprop persist.sys.moyujun.used 1
# 延迟两秒,写完属性rc文件自动设置权限
sleep $SLEEP_TIME
cp -f $SOURCE_FILE $TARGET_FILE
#给一下拷贝过后的文件权限
chmod 777 $TARGET_FILE
#记录数据替换成功,避免重复操作
touch $FLAG_FILE
echo "copy done."
break;
else
echo "file not install"
# 文件不存在,检测是否安装
if pm list packages com.moyujun.demo | grep -q "package:com.moyujun.demo"; then
setprop persist.sys.moyujun.install 1
fi
sleep $SLEEP_TIME
fi
done
fi
3、找一个系统内的rc文件,添加
# 开机运行脚本
on property:sys.boot_completed=1
start preinstall
# 检测到apk安装,给权限,不然db文件无法监测
on property:persist.sys.moyujun.install=1
chmod 777 data/data/com.moyujun.demo/
# 检测到db文件存在,给权限
on property:persist.sys.moyujun.used=1
chmod 777 data/data/com.moyujun.demo/databases/
service preinstall /system/bin/preinstall
oneshot
disabled
user shell
group shell
seclabel u:r:shell:s0
4、项目.mk文件中复制preinstall和moyujun.db到指定的out目录
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/preinstall:$(TARGET_COPY_OUT_SYSTEM)/bin/preinstall \
$(LOCAL_PATH)/moyujun.db:$(TARGET_COPY_OUT_VENDOR)/etc/moyujun.db