请注意,如果您使用默认的 Eclipse 构建,它可能会在 Eclipse 中使用特殊配置的“Ant”模块。您可以通过检查 Eclipse/Prefs 中的“Window/Preferences/Ant”部分来检查 Eclipse/Ant 协调的程度......
一种解决方案是使 Eclipse/Ant 的协作更加明确,以便“build.xml”文件成为您项目的一部分(项目级构建文件,而不是在构建时从 $SDK/ROOT 文件夹复制的默认文件)。
请参阅此处并阅读此处底部的评论,以更好地了解如何使用项目级别的“build.xml”文件。
一旦你消化了这一点,下面的解决方案将更有意义......
- 解决方案 -
修改“build.xml”文件的 Release 和 Debug 部分,如下所示:
<!-- **************** Debug specific targets *************** -->
...
<target name="-set-debug-mode" depends="-setup">
...
<!-- API modify belo for build-typ -->
<copy file="config/strings.xml" todir="res/values">
<filterset>
<filter token="CONFIG.API" value="${config.db.api}"/>
<filter token="CONFIG.REST" value="${config.db.rest}"/>
</filterset>
</copy>
...
<!-- *************** Release specific targets ************** -->
...
<target name="-set-release-mode" depends="-set-mode-check">
...
<!-- API modify belo for build-typ -->
<copy file="config/strings.xml" todir="res/values">
<filterset>
<filter token="CONFIG.API" value="${config.db.api.prod}"/>
<filter token="CONFIG.REST" value="${config.db.rest.prod}"/>
</filterset>
</copy>
在根文件夹的“ant.properties”文件中,放置 API 密钥的属性值以及其他任何内容......
# API condition builds dev|prod in DB @parse.com
config.db.api=some_key_val
config.db.rest=some_k2_val
config.db.api.prod=some_k3_val
config.db.rest.prod=some_k4_val
并将其绑定在一个资源 xml 中,该资源 xml 是构建中“复制”命令的目标......
'config/strings.xml'
<string name="default_value_parse_key_appId">@CONFIG.API@</string>
<string name="default_value_parse_key_rest">@CONFIG.REST@</string>