使用ant将一份源码编译出不同需求的版本

作者:阿米达

--------------------转载请注明:http://blog.csdn.net/liaoqianchuan00/article/details/8207345


引入原因

有的时候,我们需要用一份代码build出不同的release文件,那么怎么来动态改变源文件的内容呢?

我们可以使用ant中的replaceregexp标签。将源文件中需要修改的地方替换成我们需要的值,然后再编译。


例子

这里我们拿个简单的例

子来说明。比如我想修改源文件Config.java中的

Boolean mIsDemo = false;


To

Boolean mIsDemo = true;


然后编译源文件,生成一个demo版本的APK。

 

在build.xml中加入一下内容

<replaceregexp byline="true"> 

			<regexp pattern=" Boolean mIsDemo = false;"/>

			<substitution expression=" Boolean mIsDemo = true; "/>

			<fileset dir="./src/com/test/test" includes="Config.java"/>

</replaceregexp>

然后运行ant脚本就能编译出我们需要的版本了。


Note:

1.      其实我们可以在pattern的值中设置入更为复杂的正则表达式,这个就需要根据实际的情况来编写表达式了。

2.      项目中引入多个不同的build.xml来打到编译出不同版本的效果。



你可能感兴趣的:(ant,replaceregexp)