J2ME预编译器 - Antenna入门
作者:redduke1202
Antenna基于Ant,是一个开源的J2me开发工具,有点类似于批处理,但是要比批处理功能强大的的多.
Antenna常用功能
WtkJad 生成Jad文件
WtkBuild 编译j2me项目
WtkPackage 打包
WtkMakePrc 将Jad/Jar转换成可以PalmOS上可以运行的PRC文件格式
WtkRun 启动模拟器
WtkPreverify 预校验
WtkObfuscate 混淆,需要指定混淆器(proguard/retroguard)
WtkPreprocess 预处理
下面是一个简单的编译文件,编译wtk自带例子audiodemo
<?xml version="1.0"?>
<project name="audiodemo" default="build" basedir=".">
<!-- 指定WTK目录 -->
<property name="wtk.home" value="c:\Java\wtk-2.1" />
<!-- 指定MIDP -->
<property name="wtk.midp.version" value="2.0" />
<!-- 指定CLDC -->
<property name="wtk.cldc.version" value="1.0" />
<!-- 指定支持mmapi多媒体包-->
<property name="wtk.mmapi.enabled" value="true" />
<!-- 指定项目属性 -->
<!-- 指定MIDlet名字 -->
<property name="midlet.name" value="audiodemo" />
<!-- 指定项目目录 -->
<property name="midlet.home" value="${wtk.home}/apps/${midlet.name}" />
<!-- 载入Antenna任务定义 -->
<taskdef resource="antenna.properties" />
<!-- 定义清理任务 -->
<target name="clean">
<!-- 删除 classes 目录-->
<delete failonerror="false" dir="classes" />
<!-- 删除目录下的所有文件 -->
<delete failonerror="false">
<fileset dir=".">
<!-- 除了"build.xml"(文件本身)-->
<exclude name="build.xml" />
</fileset>
</delete>
</target>
<!-- 定义build任务-->
<target name="build">
<!-- 拷贝Jad文件过来 -->
<copy file="${midlet.home}/bin/${midlet.name}.jad" todir="." />
<!-- 建立 classes 目录 -->
<mkdir dir="classes" />
<!-- 编译,但是不预校验-->
<wtkbuild srcdir="${midlet.home}/src" destdir="classes" preverify="false" />
<!-- 打包并预校验 -->
<wtkpackage jarfile="${midlet.name}.jar" jadfile="${midlet.name}.jad" preverify="true">
<fileset dir="classes" />
<fileset dir="${midlet.home}/res" />
</wtkpackage>
<!-- 启动模拟器 -->
<wtkrun jadfile="${midlet.name}.jad" device="DefaultColorPhone" wait="true" />
</target>
</project>
编译过程
1.在IDE中,以Eclipse为例,
a.新建项目
b.将上面内容保存为 build.xml 放在项目的根目录下
c.eclipse中选中build.xml,右键,Run As--> Ant build
2.无IDE,需要Apache Ant支持
a.到apache网站下载ant,安装,在环境变量path中增加 ant目录\bin
比如安装在c:\ant下,则添加 c:\ant\bin到path中
b.新建一个目录
c.将上面内容保存为 build.xml 放在目录下
d.打开dos窗口,cd到该目录
e.键入 ant,即可看到整个执行过程
上面的例子只是个简单的应用,Antenna的最大好处是可以进行预处理,利用同一份代码,可以为不同的平台生成多个发布版本,关键是只需维护一套代码.如果有兴趣,将陆续发布Antenna的复杂应用
相关网址
1.Apache Ant
http://ant.apache.org
2.Antenna
http://sf.net/projects/antenna