程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> Antenna 打包 J2ME 程序

Antenna 打包 J2ME 程序

編輯:J2ME
Antenna 打包 J2ME 程序

作者: Jeru

很多人喜歡用 ant 來編譯打包 Java 應用程序,可以很方便的生成 war 包在 J2EE 容器中運行,我在 sun 的網站上也看到了一篇
用 ant 打包 J2ME 程序的教程:http://wireless.Java.sun.com/midp/articles/ant/

測試了一下,還不錯,但美中不足的是,需要自己事先寫好 manifest.mf 和 jad 文件,於是心有不甘,繼續在 google 上搜索,
終於找了一個很強大的 ant 擴充包,專門打包 J2ME 程序,很實用:http://antenna.sourceforge.Net/
一次性可以自動編譯,預編譯,生成 jar,jad,prc(palm 的運行程序),甚至包括攪亂代碼.你所需要做的只是改少少build.XML裡的參數.

下面以 UIDemo 為例子,給大家 share 一下打包的過程.(本文適用於有ant使用經驗的用戶)

首先,假定你已經使用過ant,ant_home環境變量已經設置好了,把上述網站下載的antenna-bin.jar加入classpath
我在D:\My Folder\projects\j2me\下建立了一個 UIDemo 目錄,把J2MEWTK\aPPS\UIDemo下的 res,src 兩個目錄 copy 到這裡來,
同級目錄下建立一個 build.xml 文件,build.XML 內容如下,只有做出了中文注釋的幾個地方需要修改:

<?XML version="1.0"?>

<project name="UIdemo" default="build" basedir=".">

    <!-- Define the Wireless Toolkit home directory. Needed by the tasks. -->
    <!-- 設置 J2MEWTK 路徑. -->
    <property name="wtk.home" value="c:\J2MEwtk"/>

    <!-- Define some additional propertIEs for this project. Not required. -->

    <!-- 設置 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的類和圖標. -->
    <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. -->

        <!-- 設置是否需要攪亂,是否要預編譯,是否自動識別版本 -->
        <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>

最後在命令行下運行ant,一切就是這麼簡單

最後附帶說一下ant的安裝,也非常簡單,下載回來後設置環境變量ANT_HOME到安裝目錄,將%ANT_HOME%\bin加入path就可以了


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved