An Ant-to-End Solution For Wireless Java

Version 1.2.1

(c) 2002-2010

Erik Wetterberg
Sourceforge project

News | Overview | Download | Setup | JAD | Build | Package | MakePRC | RAPC
Run | Preverify | Obfuscate | SmartLink | Preprocess | Deploy | Sign | History |


Antenna 1.2.1-beta available for download(6/1/2010)
The 1.2.1 version is now available for download. This release includes some bug fixes and contributed patches: Antenna 1.2.0-beta available for download(26/9/2009)
The 1.2.0 version is now available for download. It includes a rewrite, with wireless toolkit properties moved from code to properties files, and support for a number of toolkits, among them Java ME SDK 3.0. More info on that and the complete list of supported tollkits under
Setup in the documentation. It also includes the following changes in the preprocessor: Antenna 1.2.0-beta available in repository (1/9/2009)
A new version of Antenna is now available in the repository. No build available yet, so to use it you have to check out from repository and build yourself. The main new feature is support for Java ME SDK 3.0 and other toolkits. Toolkit definitions are moved to text files, so you can easily add support for more toolkits yourself. The following toolkits are supported by this version:
Antenna 1.1.0-beta released (20/6/2008)
A new preprocessor backend was created by the MTJ (Mobile tools for Java) team. The new backend (v3) is functionaly identicatl to v2, but uses ANTLR 3.0 for parsing. This enable the inclusion of the preprocessor with MTJ, This porting is required due to legal issues with ANTLR 2.7 license, which is not compatible with Eclipse license.
The new preprocesor backend is included as v3, and is now the default for WtkPreprocess (use backendverson="v2" to use the previous version). in addition - a new version of the Preprocessor eclipse plugin is released which uses the new backend as well (Which only works with the new backend).
The following bugs have been fixed:
Antenna 1.0.2 released (30/5/2008)
Changes: Antenna 1.0.1 and Preprocessor eclispe plugin 1.1.6 relased (25/5/2008)
Changes: Antenna 1.0.0. is out
This is a bugfix release of 0.9.15, the bump in version number is due to a mistake with the version number of the previous release. The following things have been fixed: Antenna 0.9.15-beta is out!
There are several new features and improvements in this release which was contributed by Omry Yadan, who joined the project recently


Antenna provides a set of
Ant tasks suitable for developing wireless Java applications targeted at the Mobile Information Device Profile (MIDP). With Antenna, you can compile, preverify, package, obfuscate, and run your MIDP applications (aka MIDlets), manipulate Java Application Descriptor (JAD) files, as well as convert JAR files to PRC files designed to run on the MIDP for PalmOS implementations from Sun and IBM. Deployment is supported via a deployment task and a corresponding HTTP servlet for Over-the-Air (OTA) provisioning. A small preprocessor allows to generate different variants of a MIDlet from a single source.

Of course you can also do much of that with the J2ME Wireless Toolkit or other Java IDEs, but using an Ant script results in a defined and reproducable build process that is independent of a particular programming environment. See this article for an excellent introduction to Ant as well as reasons for using it.

The Antenna tasks are mostly built around functionality provided by the Wireless Toolkit and thus require this software. If you want to make use of the obfuscation task, you should have one (or both) of the free RetroGuard and ProGuard obfuscators on your harddisk. Naturally, Ant itself is also needed, where version 1.5.0 seems to be the minimum required version as reported by users. Antenna works very well in Ant-supportive IDEs like Eclipse or JEdit.

Here is a list of tasks contained in the package:

Task Purpose
WtkJad A task that is able to create new JAD files from scratch or update existing ones.
WtkBuild An extension to Ant's standard javac task that sets the appropriate bootclasspath allows for preverification.
WtkPackage An extension to Ant's standard jar task that handles the JAD file correctly and is able to include complete libraries into the resulting JAR file. It also allows for preverification and obfuscation of the generated file.
WtkMakePrc A task to convert an existing JAR/JAD into a PalmOS PRC file that can be used with MIDP for Palm OS.
WtkRun A task to run a MIDlet suite contained in a JAR/JAD file in the Wireless Toolkit's emulator.
WtkRapc A task that invokes the BlackBerry rapc compiler, and generates BlackBerry .cod files.
WtkPreverify A standalone task for preverifying a set of classes. This task is normally not needed, since the build and packaging tasks include the same functionality.
WtkObfuscate A standalone task for obfuscating a JAR file. This task is normally not needed, since the packaging task includes the same functionality.
WtkSmartLink A task for removing unnecessary classes from a JAR file.
WtkPreprocess A simple Java preprocessor, similar to the ones known from C and other languages, that allows for conditional compilation and including source files.
WtkDeploy A deployment task that allows to put a MIDlet on a remote Web server for later download.
WtkSign A task for signing midlets


There are several sample build.xml files in the "samples" subdirectory of the Antenna source distribution. These files show how to build the default demo MIDlets contained in the Wireless Toolkit and some others. Running the samples is a good way to test your setup as well as a good starting point for your own build.xml files. The Antenna project is hosted on SourceForge and distributed under the GNU Lesser General Public License (LGPL). You can download the most recent version here.

Mailing List

There's also a mailing list for discussing Antenna. You can subscribe to the list here,
list archives are available here


If you find Antenna useful, you might want to send a picture postcard of your hometown or country telling me so. My surface mail address is: Jצrg Pleumann, Amselstrasse 41, D-45472 M�lheim, Germany. E-mails are also fine, but don't underestimate the productivity (and ego) boost that a wall full of postcards next to my desk will cause. :)