android overlay app,修改字符串资源

通过一个例子来了解overlay app,修改字符串资源的过程

google messag 是google的应用,如果有字符串在某种语言下显示有问题,是无法通过源码来实现。就要用到overlay来实现。

通过ApkToolkit 工具来反编译message应用

在这里插入图片描述
双击打开ApkToolkit.exe 应用,然后将需要反编译的apk鼠标拖入exe应用界面对应的位置,执行反编译操作。
这里需要反编译的apk是Messages_arm64_xxhdpi.apk

在这里插入图片描述
如果反编译成功,就会在当前目录创建和目标apk相同名称的文件夹,里面就是我们通过工具反编译之后的结果。

在这里插入图片描述
在这里插入图片描述

生成的文件中,我们只需要关注res 和AndroidManifest.xml这两个文件。

AndroidManifest.xml : 主要来获取需要反编译应用的包名,package="com.google.android.apps.messaging"
res:里面是res资源,我们只关注value类型。

编写overlay app

通过上面反编译步骤我们得到了,需要反编译应用的包名和res。下面我们就可以编写对应的overlay app了

在这里插入图片描述
新建文件加GoogleMessageOverlay
创建Android.mk,AndroidManifest.xml,res 等文件。
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 := GoogleMessageOverlay
include $(BUILD_PACKAGE)

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.android.apps.messaging.overlay">
    <overlay
        android:isStatic="true"
        android:priority="1"
        android:targetPackage="com.google.android.apps.messaging" />
</manifest>            

res
在这里插入图片描述

res 目录下就是我们需要overlay修改的字串,此处我们修改中文下的字串。
在这里插入图片描述
将plurals.xml打开找到对应的string id修改就可以了 。

编译overlay app

编译过程忽略。
生成的app在out 下的vendor/overlay中。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值