在我的Android应用程序中,我只需要对属性文件进行一些小改动。
例如:
在我的属性文件中,有一条特定客户的欢迎消息。 所以,我必须在我的应用程序中仅更改客户端名称。
但问题是,我必须在源代码中执行此操作,然后必须每次为每个客户端构建。
有没有办法直接在 .apk 文件中更改它而无需再次创建构建&试。
答案 0 :(得分:9)
要执行此操作,您必须解压缩打包的APK,并找到要更改的字符串。该字符串可能已被编码或转换为字节码(Java String)或二进制格式(XML String)。您需要确定是否已完成此操作,以及新String的外观。然后,您需要使用要替换它的字符串,并在交换之前以相同的方式对其进行编码。
完成所有这些操作后,您必须重新压缩应用程序并运行签名工具并手动压缩对齐,然后再以apk格式使用。
坦率地说,这样做需要更长的时间才能重新编译应用程序。
答案 1 :(得分:1)
由于您拥有源代码,解压缩和重建APK似乎是浪费时间。您应该在原始构建过程中解决此问题。
如果您使用Eclipse手动构建APK包,那么您应该考虑设置一些自动构建系统(Ant,Maven等)并将客户端名称作为构建脚本的参数提供。
如果您已经在使用Ant或Maven,那么这些工具已经提供了在编译之前用文本文件替换属性值的方法。请告诉我们有关您的构建环境的更多信息,以便我们提供更准确的答案。
答案 2 :(得分:0)