1.概述:
介绍预置apk的种类,流程及具体方法
2.预置apk方法分类:
预置apk按有无源码分的话可以分为两种,一种是有apk源码的预置方式,一种是无源码的预置apk方式,区别是mk文件写发不同;按预置的用途分的话可以分为3种,一种是预置apk不可删除,一种是可删除恢复出厂设置后还存在,一种是可删除恢复出厂设置后不存在,区别 也是mk文件写法不同
3.预置apk的流程
3.1首先系统原生的apk的方法一般是在build\target\product下面的一些mk文件中被定义是否添加编译项(如果是mtk或者rk的则会在device/mediatek(rockchip)下被重新定义),相关字符为
PRODUCT_PACKAGES += \
Launcher3 \
关键字是PRODUCT_PACKAGES,语法是makefile的语法,大概意思是加了这句话,就会去编译package/app下面的Launcher3下面的Android.mk文件(mk文件中有个module名也是Launcher3,与PRODUCT_PACKAGES名字相对应),大概流程是make的时候会去遍历所有路径下面的mk文件,然后mk如果PRODUCT_PACKAGES定义的module在mk文件中也有定义则会编译那个mudule项,碰到有些人在apk的文件中添加了mk文件,但是一make就在out下面没看见生成apk文件,那就是因为没有在mk文件中添加module编译选项
3.2实际mtk或者rk的一般是在device\mediatek(rockchip)\下面的device.mk中自己添加或者修改了预置apk的逻辑,rk的有的是在vendor\rockchip\common\apps\apps.mk中被定义,gms的是在