首页 > 解决方案 > 以编程方式更新 APK 内的资源

问题描述

有没有办法以编程方式更新设备上 APK 中的资源(更具体地说是图标和字符串)?我知道我可以从应用的 ApplicationInfo 对象中获取 APK 路径。我也知道 APK 只是 zip 文件,我可以使用 ZipFie ( https://developer.android.com/reference/java/util/zip/ZipFile ) 来读取/修改其内容,所以我觉得这应该是可能的。

我这样做的一个想法是构建 apktool ( https://ibotpeaches.github.io/Apktool/ ) 并将其包含在我的应用程序中。然后我可以反编译资源,进行修改,重新编译并使用 ZipFile 来包含它。尽管在 Android 设备上执行此操作似乎相当繁重。有没有更有效的方法?

标签: android

解决方案


您可以使用热修复框架,如腾讯的Tinker和阿里巴巴的 Sophix(这里是一个中文文档

那些热修复框架可以动态更新你的java代码,所以文件和字符串可绘制资源。


推荐阅读