Android 8.0 平台预置第三方apk到Data目录,使其可以卸载并且恢复出厂设置可以还原
Mstar 8.0平台预置第三方apk,踩了不少坑,这里做一下笔录。 正常情况预置apk到Data目录很简单,网上一搜很多,这里就不贴代码了,但是这里会遇到一个问题, 1 如果在不改变apk签名的情况下预置到Data目录,编译后可以看到out 目录下确实是有这个apk,但是刷机系统跑起来后会因为签名校验不过(android 7.0之后增加的APK Signature Scheme v2签名方案),导致这个apk自动被系统删除。 2 如果将apk的签名改为系统签名预置到data目录,编译后刷机都可以正常运行,但是一般apk都有在线升级的功能,一旦apk有新版本了会因为apk签名被改变导致升级不了, 经过几次尝试发现如果将apk直接push进data目录 apk可以正常运行,那么这就好办了,我们就通过这种方式将apk内置进去,既可以让apk可以卸载,也能够让apk可以升级,并且恢复出厂设置可以恢复,具体怎么做呢,下面我以预置腾讯视频会议apk为例子 1 首先 准备好要内置的apk,在编译代码的时候将这个apk拷贝到一个位置(位置自己定义即可),ps :如果apk有lib 记得解压出来 PRODUCT_COPY_FILES += \ $(call find-copy-subdir-files,*,$(LOCAL_PATH)/dataApps/TenxunConference,data