以编程方式更新APK内的资源

时间:2018-11-04 01:56:11

标签: android

是否可以通过编程方式更新设备上APK中的资源(更具体地,图标和字符串)?我知道我可以从应用程序的ApplicationInfo对象获取APK路径。我也知道APK只是zip文件,我可以使用ZipFie(https://developer.android.com/reference/java/util/zip/ZipFile)来读取/修改其内容,因此我认为应该可以。

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

1 个答案:

答案 0 :(得分:1)

您可以使用修补程序框架,例如腾讯的Tinker和阿里巴巴的Sophix(这里是Chinese doc

这些修补程序框架可以动态更新Java代码,因此文件和字符串可绘制资源会动态更新。