overlay
overlay :一种资源替换机制,工作原理:将叠加层软件包中定义的资源映射到目标软件包中定义的资源。当应用尝试解析目标软件包中资源的值时,系统转而会返回目标资源映射到的叠加层资源的值。它也分为静态的(SRO , Static Resource Overlay)和动态的(RRO , Runtime Resource Overlay)两种,静态的需要在源码编译阶段完成,比如SystemUI等系统应用,而RRO是通过安装Overlay的apk应用实现替换。
- Android.mk覆盖替换变量:LOCAL_OVERRIDES_PACKAGES 此变量可以使其他的模块不加入编译
覆盖编译MtkBrowser,即不讲该apk编译进系统
- SRO (static resource overlay):一般在android源码编译阶段一起编译,或者push到/vendor/overlay目录下,重启生效。
- RRO, 直接安装,通过代码控制,更加灵活。
- 查看设备当前overlay:adb shell cmd overlay list --user current
- enable 某个overlay : adb shell cmd overlay enable packagename
- disable 某个overlay : adb shell cmd overlay disable packagename