gpt4 book ai didi

android - 如何在构建时设置 strings.xml 值?

转载 作者:行者123 更新时间:2023-11-29 22:00:21 25 4
gpt4 key购买 nike

我正在使用 Ant 构建我的 Android 应用程序,并希望在构建时设置我的 strings.xml 中的值之一。例如,我可以使用

<string name="app_name">MyApp-DEBUG</string>

使用调试版本,或者我可以使用

<string name="app_name">MyApp<string>

用于发布版本。这可能吗?

最佳答案

Ant 中有两个任务可以提供帮助:

首先是 <replace> .你给它一个包含可以被替换的参数的文件名,然后你给 任务这些参数的值。它在文件中替换它们。我不喜欢这个任务,因为它用于替换受版本控制的内容,如果您不小心,最终可能会无意间更改文件。

设置.xml
<settings>
<properties>
<property name="server" value="@SERVER@"/>
</properties>'
</settings>
替换任务
 <replace file="settings.xml">
<replacetoken token="@SERVER@" value="google.com"/>
</replace>

我见过很多版本控制存储库,其中替换文件的修订版 #3 是使用替换参数意外 checkin 的文件(直到下一个版本参数没有更改时才意识到这一点) .然后版本 #4 是版本 #2 的副本,后者具有替换参数。接下来是错误的版本 #5,然后是恢复文件的版本 #6,等等。

我的首选方法是将文件复制到另一个目录,然后使用 <filterset>/<filter>复制时更改文件的标记:

 <copy todir="${target.dir}"
file="settings.xml">
<filterset>
<filter token="SERVER" value="google"/>
</filterset>
</copy>

两者都可以使用属性文件 而不是指定单独的标记。 <copy>/<filterset> pair 可以获取文件的 fileset 并立即替换一堆标记。 (注意不要将二进制文件传递给它!)。

关于android - 如何在构建时设置 strings.xml 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12084002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com