7

在我的 android 应用程序中,我只需要在属性文件中进行一些小的更改。

例如:

在我的属性文件中,有针对特定客户的欢迎消息。所以,我必须在我的应用程序中只更改客户端名称。

但问题是,我必须在源代码中这样做,然后每次都必须为每个客户构建。

有什么方法可以直接在.apk文件中更改它,而无需再次创建构建。

4

3 回答 3

10

为此,您必须解压缩打包的 APK,并找到要更改的字符串。该字符串可能已被编码或转换为字节码(Java 字符串)或二进制格式(XML 字符串)。您需要弄清楚这是否已经完成,以及新字符串的外观。然后,您需要获取要替换它的字符串,并在交换它们之前以相同的方式对其进行编码。

完成所有这些后,您必须重新压缩应用程序并运行签名工具并手动压缩对齐,然后才能再次以 apk 格式使用。

坦率地说,这样做比重新编译应用程序需要更长的时间。

于 2012-12-17T07:48:33.580 回答
1

由于您拥有源代码,因此解压缩和重建 APK 似乎是在浪费时间。您应该在原始构建过程中解决此问题。

如果您使用 Eclipse 手动构建 APK 包,那么您应该考虑设置一些自动构建系统(Ant、Maven 等)并提供客户端名称作为构建脚本的参数。

如果您已经在使用 Ant 或 Maven,那么这些工具已经提供了在编译之前将文本文件中的标记替换为属性值的方法。请告诉我们更多有关您的构建环境的信息,以便我们给出更准确的答案。

于 2012-12-17T11:16:18.547 回答
0

使用Android APK 工具

引用描述

它是一个用于逆向工程第三方、封闭、二进制 Android 应用程序的工具。它可以将资源解码为几乎原始的形式,并在进行一些修改后重建它们;

于 2012-12-17T07:47:20.130 回答