overlay

overlay :一种资源替换机制,工作原理:将叠加层软件包中定义的资源映射到目标软件包中定义的资源。当应用尝试解析目标软件包中资源的值时,系统转而会返回目标资源映射到的叠加层资源的值。它也分为静态的(SRO , Static Resource Overlay)和动态的(RRO , Runtime Resource Overlay)两种,静态的需要在源码编译阶段完成,比如SystemUI等系统应用,而RRO是通过安装Overlay的apk应用实现替换。

  • Android.mk覆盖替换变量:LOCAL_OVERRIDES_PACKAGES 此变量可以使其他的模块不加入编译

android overlay 架构 android overlay机制_Android

 

 

覆盖编译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
  •