要使用antenna,结合ant进行编译,首先必须保证ant下有antenna的jar包,并保证在环境变量CLASSPATH下,一般apache-ant下都自动带有antenna的jar包,请注意版本,我使用的antenna是V1.2的,而apache自动带的是V1.1的。
build.xml文件的内容如下:
<?xml version="1.0" encoding="GBK" ?>
<project name="wireless" default="build" basedir=".">
<property name="wtk.home" value="D:/Program Files/WTK2.5.2_01"/>
<property name="java.home" value="D:/Program Files/Java/jdk1.6.0_10"/>
<property name="jre.home" value="${java.home}"/>
<property name="j2me.home" value="D:/Program Files/Java_ME_platform_SDK_3.0"/>
<property name="ant.home" value="D:/Program Files/apache-ant-1.7.0"/>
<property name="wtk.lib.dir" value="${wtk.home}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<property name="res.dir" value="${basedir}/res" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="dest.dir" value="${build.dir}/temp" />
<property name="midlet.name" value="iRead_tcl"/>
<property name="midlet.home" value="."/>
<property name="wtk.cldc.version" value="1.0"/>
<property name="wtk.midp.version" value="2.0"/>
<property name="bootclasspath" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;${wtk.home}/lib/wma20.jar"/>
<property name="wtk.midpapi" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;
${wtk.home}/lib/wma20.jar;${wtk.home}/lib/mmapi.jar;
${wtk.home}/lib/j2me-ws.jar;${wtk.home}/lib/jsr75.jar;
${wtk.home}/lib/jsr082.jar;${wtk.home}/lib/jsr184.jar"/>
<taskdef resource="antenna.properties"/>
<taskdef name="wtkjad" classname="de.pleumann.antenna.WtkJad"/>
<taskdef name="wtkbuild" classname="de.pleumann.antenna.WtkBuild"/>
<taskdef name="wtkpackage" classname="de.pleumann.antenna.WtkPackage"/>
<taskdef name="wtkmakeprc" classname="de.pleumann.antenna.WtkMakePrc"/>
<taskdef name="wtkrun" classname="de.pleumann.antenna.WtkRun"/>
<taskdef name="wtkpreverify" classname="de.pleumann.antenna.WtkPreverify"/>
<taskdef name="wtkobfuscate" classname="de.pleumann.antenna.WtkObfuscate"/>
<path id="classpath">
<fileset dir="${ant.home}/lib">
<include name="antenna-bin.jar" />
</fileset>
<fileset dir="${wtk.home}/lib">
<include name="midpapi20.jar" />
<include name="cldcapi11.jar" />
<include name="wma20.jar" />
</fileset>
<fileset dir="${wtk.home}/bin">
<include name="proguard.jar" />
</fileset>
<fileset dir="${java.home}/lib">
<include name="*.*" />
<include name="tools.jar" />
<include name="dt.jar" />
</fileset>
<fileset dir="${jre.home}/lib">
<include name="rt.jar" />
</fileset>
</path>
<target name="build" depends="clean" >
<mkdir dir="${classes.dir}" />
<wtkjad jadfile="${midlet.name}.jad"
jarfile ="iRead_tcl.jar"
name="iRead"
vendor="booker"
version="1.49.41"
manifest="MANIFEST.MF">
<attribute name="MIDlet-1"
value="iRead_tcl,/icon.png,com.company.Main"/>
<attribute name="Manifest-Version" value="1.0"/>
<attribute name="MIDlet-Vendor"
value="booker"/>
<attribute name="MIDlet-Version" value="1.49.43"/>
<attribute name="MIDlet-Name" value="iRead."/>
</wtkjad>
<wtkbuild srcdir="${src.dir}"
destdir="${classes.dir}"
preverify="false"
bootclasspath="${bootclasspath}">
<classpath refid="classpath"/>
</wtkbuild>
<wtkpackage jarfile="${midlet.name}.jar"
jadfile="${midlet.name}.jad"
obfuscate="true"
preverify="true"
autoversion="true">
<fileset dir="${classes.dir}"/>
<fileset dir="${res.dir}"/>
</wtkpackage>
#说明:package中,通过设置obfuscate和preverify要求进行自动验证和混淆,当然也可以设置成FALSE,在package完了之后再单独进行验证和混淆
#要进行混淆,必须下载proguard.jar放到wtk.home/bin目录下。混淆的目的是为了防止反编译。
# <wtkpreverify ...............>
# <wtkobfuscate ..............>
</target>
<target name="clean" >
<delete dir="${build.dir}" />
<delete dir="${basedir}/.settings" />
<!--delete dir="${src.dir}" /-->
<delete dir="${basedir}/bin" />
<echo level="info">ok</echo>
</target>
</project>