Android RRO Overlay 应用范例

Android RRO Overlay应用范例

RRO(Runtime Resource Overlay)

在2014年,索尼把自己的主题引擎RRO(Runtime Resource Overlay) 在安卓7.0中,Google也在原生安卓内置了该引擎

Android 开发中的应用

RRO不仅针对主题 而是所有的 runtime resource. 所有 我们可以利用他来实现资源的替换
预置的app 可以通过反编译 来替换图片资源或者字符串
也算安卓逆向的一个方法 不过本文只对系统开发有效

举例

新增模块

Android.mk

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional

LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/overlay

#include files in src directory
LOCAL_SRC_FILES := $(call all-subdir-java-files)

LOCAL_PROPRIETARY_MODULE := true

#include files in res diretory
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_SDK_VERSION = current

#the name of target apk
LOCAL_PACKAGE_NAME := OptInAppOverlay
include $(BUILD_PACKAGE)

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="example.optinoverlay">
    <overlay
        android:isStatic="true"
        android:priority="1"
        android:targetPackage="example" />
</manifest>

res\value\string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="foo">bar</string>
</resources>

总结

利用索尼的RRO机制 我们可以在可执行app文件之外 对资源进行定制。 给大法点个赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值