android overlay机制,Android 的overlay机制

本文介绍了Android overlay机制,用于不修改源码实现资源文件、主题、皮肤的定制。通过在customer目录下创建与目标应用相同的目录结构,并在device.mk中指定OVERLAYS,可以轻松完成定制。内容包括配置PRODUCT_PACKAGE_OVERLAYS、创建overlay目录、添加资源文件,并解释了当PRODUCT_PACKAGE_OVERLAYS与DEVICE_PACKAGE_OVERLAYS冲突时的优先级规则。
摘要由CSDN通过智能技术生成

如何使用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是一种在Android应用程序中实现界面定制化的技术。通过使用overlay,开发者可以在不修改原始应用程序代码的情况下,添加、修改或替换应用程序的布局、样式和资源。在Android中,overlay通常是通过创建一个新的AndroidManifest.xml文件来实现的。\[1\] 在创建AndroidManifest.xml文件时,需要指定overlay的优先级、是否静态以及目标包名。优先级决定了overlay的显示顺序,静态表示overlay在运行时不会被修改,目标包名指定了要进行定制化的应用程序。\[1\] 除了创建AndroidManifest.xml文件,还可以参考一些相关的资料来了解更多关于Android overlay的信息。例如,可以参考http://mmmyddd.github.io/wiki/android/overlay.html和https://developer.sonymobile.com/2014/04/22/sony-contributes-runtime-resource-overlay-framework-to-android-code-example/。\[2\] 在编译后生成的apk中,overlay的路径可以根据不同的方案进行调整。一种常见的路径是vendor/overlay/TestOverlay/TestOverlay.apk,可以通过设置LOCAL_MODULE_PATH来指定路径。\[3\] #### 引用[.reference_title] - *1* *3* [Android Overlay机制](https://blog.csdn.net/weixin_44021334/article/details/130421043)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Android overlay简单总结](https://blog.csdn.net/Dylan_Sen/article/details/78878641)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值