![](/img/trans.png)
[英]Is a signed Android APK-File running on x86- and ARM-Android devices?
[英]Can resources in an Android APK-file be changed without rebuilding?
在我的Android应用程序中,我只需要在属性文件中进行一些小改动。
例如:
在我的属性文件中,有一个特定客户端的欢迎消息。 所以,我必须在我的应用程序中只更改客户端名称。
但问题是,我必须在源代码中执行此操作,然后必须每次为每个客户端构建。
有没有办法直接在.apk文件中更改它,而无需再次创建构建。
为此,您必须解压缩打包的APK,并找到要更改的字符串。 该字符串可能已被编码或转换为字节码(Java String)或二进制格式(XML String)。 您需要确定是否已完成此操作,以及新String的外观。 然后,您需要获取要替换它的字符串,并在交换它们之前以相同的方式对其进行编码。
完成所有这些操作后,您必须重新压缩应用程序并运行签名工具并手动压缩对齐,然后再以apk格式使用。
坦率地说,这样做需要更长的时间才能重新编译应用程序。
由于您拥有源代码,解压缩和重建APK似乎是浪费时间。 您应该在原始构建过程中解决此问题。
如果您使用Eclipse手动构建APK包,那么您应该考虑设置一些自动构建系统(Ant,Maven等)并将客户端名称作为参数提供给构建脚本。
如果您已经在使用Ant或Maven,那么这些工具已经提供了在编译之前使用属性值替换文本文件中的标记的方法。 请告诉我们有关您的构建环境的更多信息,以便我们提供更准确的答案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.