antenna是ant的第三方扩展,可以使用antenna对j2me程序进行 编译、校验、打包、混淆等,甚至可以通过antenna所定义的task,运行已经打包完成的jar,最让我喜欢的是他的预处理功能,下面总结下简单的预处理(本文单独对预处理进行操作,wtk只是提供一个参数罢了)
不过Antenna 1.0一下的注释方法不同
0.9:
//#ifdef xx
1.0:
// #ifdef xx
//和#中间有空格的
建议用1.0,因为eclipse的自动格式调整(Ctrl+shift+F)中间始终会产生空格的,所以0.9的话这样折腾一下代码就废了
Antenna的预处理:
1.安装wtk,虽然没多大关系,不过默认上还是需要的
2.把antenna放进ant/lib目录
3.编写build.xml文件,然后就可以预处理
GameScreen.java
/**
* @author JuhnXu
* @date 2012-8-3
*/
public class GameScreen {
// #ifdef old
public final static short TILES_WIDTH = 24;
// #endif
// #ifdef new
//@ public final static short TILES_WIDTH = 21;
// #endif
}
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
2012-8-1 下午11:31:33
project
description
JuhnXu
====================================================================== -->
<project name="compile" default="ToNew" basedir=".">
<!--debug标识-->
<property name="old" value="old" />
<property name="new" value="new" />
<!--wtk的根目录-->
<property name="wtk.home" value="C:WTK22" />
<!--目录-->
<property name="src" value="src" />
<property name="dest" value="src" />
<!--task 添加预处理命令-->
<taskdef name="wtkpreprocess" classname="de.pleumann.antenna.WtkPreprocess" />
<!--新版本-->
<target name="ToNew">
<echo message="preproccess">
</echo>
<wtkpreprocess srcdir="src" destdir="src" symbols="${new}" verbose="true"/>
</target>
<!--旧版本-->
<target name="ToOld">
<echo message="preproccess">
</echo>
<wtkpreprocess srcdir="src" destdir="src" symbols="${old}" verbose="true"/>
</target>
</project>