您的位置:首页 > 移动开发 > Android开发

Android 打包时利用ant进行Java类里属性的替换

2017-08-19 22:48 274 查看

背景

android打包时经常会有一些属性变量需要动态配置,比如Java类中有一个构建时间,希望打包的时候,动态修改它。

实现

利用ant 的的replaceregexp即可实现(ant的使用这里就不详细讲解了,所以大家对ant还不了解的话,可以先去了解了解它的教程)

例子

我本地有一个java类,里面有一个buildTime属性,代码如下:

public class Setting {

public static long buildTime = 20170819223718;

}


我希望打包的时候动态修改该buildTime的属性值。下面动手实现,新建一个build.xml文件(ant打包用到),内容如下:

<?xml version="1.0"?>
<project name="replaceVarBuildTime" default="buildTimeTarget">

<!-- 获取当前时间 -->
<tstamp>
<format property="TODAY_CN" pattern="yyyyMMddHHmmss" locale="zh"/>
</tstamp>

<!-- 替换任务 -->
<target name="buildTimeTarget" >
<replaceregexp
byline="false"
file="./Setting.java" <!-- 要替换属性值所在的java类 -->
match="public static long buildTime = (.*);"
replace="public static long buildTime = ${TODAY_CN};" />
</target>
</project>


编写完以上build.xml文件,即可实现动态替换该Setting.java类中buildTime的属性值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息