如何使用overlay完成app的客户定制?
一、510平台代码customer关于overlay配置关系梳理如下
common/xxx_Default_Property.mk:306
PRODUCT_PACKAGE_OVERLAYS := $(xxx_TMP_CUSTOMER)/overlay $(PRODUCT_PACKAGE_OVERLAYS)
看到没,已添加了PRODUCT_PACKAGE_OVERLAYS 控制项
该xxx_Default_Property.mk 最后被include 到一般为
ID_BD_xxxx_COMMON/device_xxxx_hi3751_Others/device.mk文件里,而改文件又会被cp 到Android/device/xxx/HisiV510目录下面,
而这个device.mk进一步又会include build/core/下面的product.mk里面(也就是device.mk最终会被连到android系统的mk里面)
总之上面一大堆废话 == customer 里面的xxxx_Property.mk 已将PRODUCT_PACKAGE_OVERLAYS 连到了android 编译的mk系统里面
所有,关于android app 或者 framewroks的资源文件定制,只需xxxxx/customer/readme.txt 格式添加文件即可,编译即能生效
补充一点,关于PRODUCT_PACKAGE_OVERLAYS 与DEVICE_PACKAGE_OVERLAYS 资源一样的时候,以PRODUCT_PACKAGE_OVERLAYS 为准,为啥?(因为前者优先级高)
为了,检验你定制的资源文件是否生效,可参见这这里
什么是overlay