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

来源:互联网 发布:windows查看进程端口 编辑:程序博客网 时间:2024/06/05 19:23

背景

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的属性值。