
Android RRO机制
文章平均质量分 91
DJLZPP
不积跬步无以至千里,不积小流无以成江海
展开
-
AndroidQ RRO(Runtime Resource Overlay)机制(4)
概述上篇文章说到目标应用的Overlay包路径被更新到了目标应用ApplicationInfo之后,就会将更新之后的ApplicationInfo传给APP进程,本篇继续来看APP进程的处理。ApplicationThread.scheduleApplicationInfoChanged public void scheduleApplicationInfoChanged(ApplicationInfo ai) { mH.removeMessages(H.APPLIC原创 2021-08-25 15:54:20 · 1935 阅读 · 0 评论 -
AndroidQ RRO(Runtime Resource Overlay)机制(3)
概述上一篇文章讲到当我们通过OMS的setEnabled方法去改变一个Overlay包的状态时会经过一系列的判断,如Overlay包是否存在,Overlay包的目标应用是否存在,目标应用的Idmap文件是否存在,Overlay包是否为静态等等,如果最终通过判断且Overlay包的状态确实发生了改变则会调onOverlaysChanged方法去通知目标应用其资源包发生了改变,进而使Overlay能够生效。 boolean setEnabled(@NonNull final String packageNa原创 2021-08-24 11:00:44 · 1359 阅读 · 0 评论 -
AndroidQ RRO(Runtime Resource Overlay)机制(2)
概述Android5.0引入了RRO,RRO全称Runtime Resource Overlay,是一种运行时动态替换资源的方式,它可以在不修改三方应用源码的情况下替换起资源文件,主要用于应用主题开发,Android8.0引入了一个系统服务OverlayManagerService来配合RRO: * <pre> * Android framework * | ^ * . . . | . . . . | . . . . *原创 2021-08-18 10:24:51 · 2834 阅读 · 0 评论 -
AndroidQ RRO(Runtime Resource Overlay)机制(1)
概述Android5.0引入了RRO,RRO全称(Runtime Resource Overlay),它可以实现在不修改三方应用源码的情况下,替换其资源,主要依靠一个叫做overlay apk的应用实现的, overlay apk和普通的应用相比只有一个区别,就是overlay apk不含任何代码(java或者C++),它的一般结构仅包含一个AndroidManifest.xml和res目录,当然因为需要在源码下编译,还包含一个Android.mk或者Android.bp(也可以用AS编译,前提是AS编译原创 2021-08-13 17:31:05 · 5436 阅读 · 2 评论