Jos*_*osh 13 java ant build-automation android buildconfiguration
我想要的是一种具有依赖于构建配置的设置的方法.举一个具体的例子,我的android应用程序连接到Web服务.在开发中,我希望从可配置的值中提取服务URL.在Test中,我希望获得不同的值.在生产中,还有另一个值.
所以,在代码中我有这样的东西:
public class HttpRequestHelper
{
private static String GetServiceUrl(ServiceAction action)
{
return serviceUrl + action.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下(调试/运行eclipse时),我希望该URL为http:// localhost:1234
在测试中我想要https://test.mydomain.com
在制作中我想要https://mydomain.com
我是eclipse和ant的新手,自从我使用java以来已经很久了.我该如何设置呢?build.xml应该是什么样的?据我所知,当我想构建test/prod版本时,我需要使用命令行.没关系.但我不知道如何使这个serviceUrl自动设置依赖于构建.我甚至不确定放置此信息的最佳位置(资源,属性文件?).我真的想避免设置,构建,设置,构建等.
正如上面提到的答案所说,你必须将URL放在dev.properties,test.properties,prod.properties等属性文件中.
现在,您唯一需要做的就是让您的构建足够智能,根据环境选择属性文件.
这可以通过将参数传递给ANT来完成,例如:
$ ant -file MyBuild.xml -DcurrentEnv = dev(适用于开发环境)
$ ant -file MyBuild.xml -DcurrentEnv = test(For Test)
$ ant -file MyBuild.xml -DcurrentEnv = prod(For Production)
在构建脚本中,这是您可以包含属性文件的方式:
<target name="jarMe">
<jar destfile="sample.jar" basedir="src" includes="${currentEnv}.properties"/>
</target>
Run Code Online (Sandbox Code Playgroud)
有了这个,无论您在构建时提供什么名称,都会选择具有该名称的属性文件.
| 归档时间: |
|
| 查看次数: |
8665 次 |
| 最近记录: |