美文网首页
Android 的overlay机制

Android 的overlay机制

作者: 哒哒luada | 来源:发表于2017-06-28 22:42 被阅读2420次

如何使用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

Android overlay就是用来偷懒,或者说更好的实现packages下面、framework一些关于资源文件、主题、皮肤文件的定制修改,而不用动到app的源码的机制,极大的方便了应用开发的兄弟们疯狂的满足客户化定制需求。

overlay如何加方能生效?

翻阅了google+baidu+实际走坑调试总结了如下:
大致干两件事情即可使用,异常方便,实用
一、创建overlay目录,该目录下文件一定要与需要定制的文件目录一致
二、告诉android的mk系统,你要使用overlay去定制某个app的资源文件
好了,废话了一大堆,看代码吧

example : 
例如 需要定制 packages/apps/Bluetooth/res 下面的资源文件
1. 创建overlay目录
 这里在customer/customer_xxx/目录下创建
android/overlay/packages/apps/Bluetooth/res
假如这里的overlay目录绝对路径为OverLay_Dir
1.1 将定制的资源文件扔到上面的目录里
2. 在device.mk 里面 添加
PRODUCT_PACKAGE_OVERLAYS : = $(OverLay_Dir)

好了,打完收工,直接编译即可
一般性会出现以下打印,说明声明的overlay定制已生效

*** Overlay change detected, clean shared intermediate files...
*** rm -rf out/target/common/obj/APPS/Bluetooth_intermediates
PRODUCT_COPY_FILES device/hisilicon/bigfish/bluetooth/rtkbt/bluetooth/../firmware/uart/rtl8723a_fw:system/etc/firmware/rtl8723a_fw ignored.

相关文章

  • Android Overlay机制

    前言 Android Overlay是一种资源替换机制,它能在不重新打包apk的情况下,实现资源文件的替换(res...

  • Android Overlay机制

    Android系统可以通过Overlay机制让你可以选择性地覆盖你的主题,可以根据产品类型动态编译更换相应的主题,...

  • Android overlay机制

    提问 1.想修改第三方的资源文件,该怎么处理?例如Google某一个apk中的字符串太长了,影响了美观。 2.为了...

  • android动态主题切换(RRO 技术)

    android上的主题切换,Android从M开始加入了动态资源overlay机制 runtime resourc...

  • Android 的overlay机制

    如何使用overlay完成app的客户定制? 一、510平台代码customer关于overlay配置关系梳理如下...

  • Android资源Overlay机制总结

    1. 概述 Android Overlay是一种资源替换机制,它能在不重新打包apk的情况下,实现资源文件的替换(...

  • overlay 机制

    http://blog.csdn.net/lei7143/article/details/71629757

  • Android 系统 overlay 机制重点小结

    静态 overlay 和动态 overlay 静态 overlay:又称为编译时 overlay,编译时资源就已经...

  • 一些命令

    Android 关机 adb shell reboot -p 查看overlay adb shell cmd ov...

  • Android 事件分发机制源码

    Android 事件分发机制源码 Android,事件机制,Android事件分发机制源码 Android Tou...

网友评论

      本文标题:Android 的overlay机制

      本文链接:https://www.haomeiwen.com/subject/bwjpcxtx.html