[转] J2ME预编译器 - Antenna 入门

 [转载于CSDN]
作者:redduke1202

 

Antenna:

The project provides a set of Ant tasks for developing J2ME/MIDP applications based on the J2ME Wireless Toolkit. The new tasks allow for compilation, preverification, packaging, and obfuscation of a MIDlet suite as well as for making a PalmOS PRC file.



Antenna基于Ant,是一个开源的J2me开发工具,有点类似于批处理,但是要比批处理功能强大的的多.
Antenna常用功能
  WtkJad        生成Jad文件
  WtkBuild      编译j2me项目
  WtkPackage    打包

JAVA手机网[www.cnjm.net]
  WtkMakePrc    将Jad/Jar转换成可以PalmOS上可以运行的PRC文件格式
  WtkRun        启动模拟器
  WtkPreverify  预校验
  WtkObfuscate  混淆,需要指定混淆器(proguard/retroguard)
  WtkPreprocess 预处理  

下面是一个简单的编译文件,编译wtk自带例子audiodemo

<?xml version="1.0"?>
<project name="audiodemo" default="build" basedir=".">
JAVA手机网[www.cnjm.net]

<!-- 指定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" />

<!-- 指定项目属性 -->
JAVA手机网[www.cnjm.net]
        <!-- 指定MIDlet名字 -->
<property name="midlet.name" value="audiodemo" />
        <!-- 指定项目目录 -->
<property name="midlet.home" value="${wtk.home}/apps/${midlet.name}" />

JAVA手机网[www.cnjm.net]
<!-- 载入Antenna任务定义 -->

JAVA手机网[www.cnjm.net]
<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任务-->
JAVA手机网[www.cnjm.net]
<target name="build">
JAVA手机网[www.cnjm.net]

<!-- 拷贝Jad文件过来 -->

<copy file="${midlet.home}/bin/${midlet.name}.jad" todir="." />
                 <!-- 建立 classes 目录 -->
JAVA手机网[www.cnjm.net]
<mkdir dir="classes" />

<!-- 编译,但是不预校验-->

<wtkbuild srcdir="${midlet.home}/src" destdir="classes" preverify="false" />

<!-- 打包并预校验 -->
JAVA手机网[www.cnjm.net]

<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

你可能感兴趣的:(ant,Build,手机,j2me,编译器,compilation)