首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

使用 Antenna (Ant) 自動化建構 J2ME 專案:編譯、預驗證、打包、混淆一步到位

     編輯:J2ME

為什麼選擇 Antenna?

許多開發者習慣用 Ant 建構 Java 專案,Sun 官網也有 Ant 打包 J2ME 教學,但缺點是需手寫 manifest.mf 與 jad。Antenna (antenna.sourceforge.net) 是專為 J2ME 設計的 Ant 擴充任務,一次完成:編譯、預驗證、產生 JAR/JAD、甚至 PRC (PalmOS)、代碼混淆,僅需調整 build.xml 參數即可。

前置條件

  • 已安裝 Ant,設定 ANT_HOME 並加入 %ANT_HOME%\bin 到 PATH。
  • 下載 antenna-bin.jar 加入 classpath。
  • 具備基本 Ant 使用經驗。

實作範例:UIDemo 專案建構

目錄結構

D:\My Folder\projects\j2me\UIDemo\
├── build.xml
├── src\          (來源:J2MEWTK\apps\UIDemo\src)
└── res\          (來源:J2MEWTK\apps\UIDemo\res)

build.xml 完整內容(關鍵處附中文註解)

<?xml version="1.0"?>
<project name="UIDemo" default="build" basedir=".">

  <!-- 設定 WTK 安裝路徑 -->
  <property name="wtk.home" value="c:\J2MEwtk"/>

  <!-- 專案基本屬性 -->
  <property name="midlet.name" value="UIDemo"/>
  <property name="midlet.home" value="."/>

  <!-- 定義 Antenna 任務 -->
  <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">

    <!-- 自動產生 JAD 檔 -->
    <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"/>

    <!-- 編譯(暫不預驗證) -->
    <wtkbuild srcdir="${midlet.home}/src"
              destdir="classes"
              preverify="false"/>

    <!-- 打包、預驗證、可選混淆、自動版本號 -->
    <wtkpackage jarfile="${midlet.name}.jar"
                jadfile="${midlet.name}.jad"
                obfuscate="false"
                preverify="true"
                autoversion="true">
      <fileset dir="classes"/>
      <fileset dir="${midlet.home}/res"/>
    </wtkpackage>

    <!-- 產生 PalmOS PRC (可選) -->
    <wtkmakeprc jadfile="${midlet.name}.jad"
                prcfile="${midlet.name}.prc"/>

    <!-- 直接在模擬器運行 -->
    <wtkrun jadfile="${midlet.name}.jad" device="DefaultColorPhone"/>

  </target>
</project>

關鍵任務說明

任務用途
wtkjad自動產生 JAD,指定 MIDlet 名稱、圖示、主類別、廠商、版本
wtkbuild編譯 Java 原始碼,可選是否同步預驗證
wtkpackage打包 JAR,整合編譯類別與資源,支援混淆、預驗證、自動遞增版本號
wtkmakeprc將 JAR/JAD 轉為 PalmOS PRC 格式
wtkrun直接啟動模擬器運行
wtkobfuscate代碼混淆(需 RetroGuard 或 ProGuard)

執行與驗證

命令列進入專案目錄,執行 ant 即可完成全自動建構。輸出檔案位於專案根目錄:UIDemo.jar、UIDemo.jad、UIDemo.prc。

Ant 安裝快速提醒

  1. 下載 Ant 二進制包解壓。
  2. 設定環境變數 ANT_HOME 指向安裝目錄。
  3. 將 %ANT_HOME%\bin 加入系統 PATH。
  4. 命令列輸入 ant -version 驗證。

結語

Antenna 讓 J2ME 建構流程標準化、自動化,極適合持續整合或團隊協作。配合版控系統,可實現一鍵建構、測試、發布全流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved