如何将一个apk以第三方安装的形式预置到rom中

匿名 (未验证) 提交于 2019-12-03 00:36:02
1.首先将这个apk拷贝到系统的某个目录,如/system/etc,但是安卓系统的makefile限制了对后缀为apk文件的拷贝导致编译报错

解决方法如下:

方法一:通过shell拷贝,在用到的xxx.mk中添加如下内容,如preinstall.mk

$(shell mkdir -p $(OUT)/system/etc/)

$(shell cp -rf $(LOCAL_PATH)/app_no_sign/xxx.apk $(OUT)/system/etc/)

方法二:注释掉编译系统对于apk的限制

platform/build

#define check-product-copy-files
#$(if $(filter %.apk, $(1)),$(error \

#endef

2.写一个shell脚本,预置到system/bin下,开机时在init.rc中启动
脚本内容:
#!/system/bin/sh
xxx_path="/system/bin/xxx.apk"
while [ 1 ]
do
done &


init.rc中启动该脚本(假设脚本名字为utility.sh):

service utility /system/bin/utility.sh


也可以在init.rc中判断开机完成再起脚本:

init.rc

service utility/system/bin/utility.sh




on property:sys.boot_completed=1

utility

脚本也顺便优化一下:

#!/system/bin/sh
xxx_path="/system/etc/xxx.apk"
pm list package | grep com.xxxx.xxxx.xxx




易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!