Antenna 打包 J2ME 程序
發(fā)表時(shí)間:2024-06-11 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Antenna 打包 J2ME 程序作者: Jeru很多人喜歡用 ant 來編譯打包 Java 應(yīng)用程序,可以很方便的生成 war 包在 J2EE 容器中運(yùn)行,我在 sun 的網(wǎng)站上也看到了一篇用 ant 打包 J2me 程序的教程:http://wireless.java.sun.com/mid...
Antenna 打包 J2ME 程序
作者: Jeru
很多人喜歡用 ant 來編譯打包 Java 應(yīng)用程序,可以很方便的生成 war 包在 J2EE 容器中運(yùn)行,我在 sun 的網(wǎng)站上也看到了一篇
用 ant 打包 J2me 程序的教程:http://wireless.java.sun.com/midp/articles/ant/
測試了一下,還不錯(cuò),但美中不足的是,需要自己事先寫好 manifest.mf 和 jad 文件,于是心有不甘,繼續(xù)在 google 上搜索,
終于找了一個(gè)很強(qiáng)大的 ant 擴(kuò)充包,專門打包 J2me 程序,很實(shí)用:http://antenna.sourceforge.net/
一次性可以自動(dòng)編譯,預(yù)編譯,生成 jar,jad,prc(palm 的運(yùn)行程序),甚至包括攪亂代碼.你所需要做的只是改少少build.xml里的參數(shù).
下面以 UIDemo 為例子,給大家 share 一下打包的過程.(本文適用于有ant使用經(jīng)驗(yàn)的用戶)
首先,假定你已經(jīng)使用過ant,ant_home環(huán)境變量已經(jīng)設(shè)置好了,把上述網(wǎng)站下載的antenna-bin.jar加入classpath
我在D:\My Folder\projects\j2me\下建立了一個(gè) UIDemo 目錄,把J2MEWTK\apps\UIDemo下的 res,src 兩個(gè)目錄 copy 到這里來,
同級(jí)目錄下建立一個(gè) build.xml 文件,build.xml 內(nèi)容如下,只有做出了中文注釋的幾個(gè)地方需要修改:
<?xml version="1.0"?>
<project name="UIdemo" default="build" basedir=".">
<!-- Define the Wireless Toolkit home directory. Needed by the tasks. -->
<!-- 設(shè)置 J2MEWTK 路徑. -->
<property name="wtk.home" value="c:\j2mewtk"/>
<!-- Define some additional properties for this project. Not required. -->
<!-- 設(shè)置 midlet 名稱和根路徑. -->
<property name="midlet.name" value="UIDemo"/>
<property name="midlet.home" value="."/>
<!-- Define the tasks. -->
<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"/>
<target name="clean">
<delete failonerror="false" dir="classes"/>
<delete failonerror="false">
<fileset dir=".">
<exclude name="build.xml"/>
</fileset>
</delete>
</target>
<target name="build">
<!-- Creat a new jad -->
<!-- 指定midlet的類和圖標(biāo). -->
<wtkjad jadfile="${midlet.name}.jad"
name="Sun Samples - Demos"
vendor="Sun Microsystems"
version="1.0.3">
<midlet name="UIDemo"
icon="/res/midp/uidemo/icon.png"
class="midp.uidemo.UIDemo"/>
</wtkjad>
<mkdir dir="classes"/>
<!-- Compile everything, but don't preverify (yet). -->
<wtkbuild srcdir="${midlet.home}/src"
destdir="classes"
preverify="false"/>
<!-- Package everything. Most of the necessary information is
contained in the JAD file. Also preverify the result this
time. To obfuscate everything, set the corresponding
parameter to "true" (requires RetroGuard or ProGuard). The
version parameter increments the MIDlet-Version by one. -->
<!-- 設(shè)置是否需要攪亂,是否要預(yù)編譯,是否自動(dòng)識(shí)別版本 -->
<wtkpackage jarfile="${midlet.name}.jar"
jadfile="${midlet.name}.jad"
obfuscate="false"
preverify="true"
autoversion="true">
<!-- Package our newly compiled classes and the
resources from the WTK's demo application. -->
<fileset dir="classes"/>
<fileset dir="${midlet.home}/res"/>
</wtkpackage>
<!-- Convert the JAR file into a MIDP for PalmOS PRC file. -->
<wtkmakeprc jadfile="${midlet.name}.jad"
prcfile="${midlet.name}.prc"/>
<!-- Start the MIDlet suite -->
<wtkrun jadfile="${midlet.name}.jad" device="DefaultColorPhone"/>
</target>
</project>
最后在命令行下運(yùn)行ant,一切就是這么簡單
最后附帶說一下ant的安裝,也非常簡單,下載回來后設(shè)置環(huán)境變量ANT_HOME到安裝目錄,將%ANT_HOME%\bin加入path就可以了