Antenna 打包 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就可以了

时间: 2025-01-21 06:39:29

Antenna 打包 J2ME 程序的相关文章

J2ME程序打包发布小技巧

在J2ME程序开发完成以后,需要将程序打包成jad和jar文件,这个操作可以使用IDE提供的向导或者是WTK中的菜单等方式来完成,为了保证你的程序可以顺利的在手机中运行,需要注意如下一些小内容: 1.注意资源文件的名称,例如图片文件,是否和代码中的文件名大小写一致.因为Windows操作系统对于文件名是不区分大小写的,而手机严格区分,不然就会出现空指针异常. 2.如果在设置中包含了中文,例如程序的名称等,一般使用打包工具来生成,而不要自己手动去修改jad文件. 3.检查jar文件中是否包含一些不

难道JavaEye就没有个高手么?怎么把在Netbeans中创建的J2ME程序打包到手机中测试?

问题描述 怎么把在Netbeans中创建的J2ME程序打包到手机中测试? 解决方案 ...没有高手这是什么意思?呵呵你点一下生成工程,就是那个bulit按钮,之后你可以回到你的工程那个文件夹下,在dist文件夹里有生成的jar文件那就是你要的东西了

J2ME技术入门之一——J2ME程序的开发过程

在进行J2ME开发以前,必须首先了解J2ME程序的开发过程,只有熟悉了开发过程以后才可以了解如何进行J2ME程序的开发.由于运行环境以及针对平台的不同,J2ME的开发过程和J2SE的开发过程不一样,要比J2SE的开发过程麻烦不少.     J2ME开发的大致过程是这样的:       1.编写Java源代码,在编辑器里面编写代码,你即可以在一般的文本编辑器里面编写,也可以在集成开发工具里面编写,这个和J2SE是完全一样的.       2.编译Java源代码,一般使用工具进行编译,实际开发中很少

android studio-gradle打包Android程序,如何打包时不包含依赖包

问题描述 gradle打包Android程序,如何打包时不包含依赖包 使用gradle打包Android程序,希望不包含依赖的lib中的jar包,就像在eclipse的build Path中勾掉依赖,同理下图的操作怎么在gradle的构建打包中实现 解决方案 解决方案二: 楼主有啥解决思路吗? 解决方案三: https://stackoverflow.com/questions/16107477/gradle-how-to-make-a-compile-scope-file-dependency

使用JBuilder开发J2ME程序

程序 使用JBuilder开发J2ME程序 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb          现在实际应用大部分都是使用JBuilder在进行开发,所以简单介绍一下如何使用.        JBuiler 9(包括JB9)以上都包含了MobileSet和WTK,可以直接用来开发.        使用JB9以上开发J2ME应用时,和使用JB进行一般的开发类似,步骤如下: 1.  新建project,根据需要选择合适的project类型.以下以新建空项

用EclipseME0.5.5创建一个简单的J2ME程序

程序|创建 用EclipseME0.5.5创建一个简单的J2ME程序 上一篇文章<如何在Eclipse3.0.1上安装EclipseME 0.5.5版本>,我们已经讲了如何在Eclipse3.0.1上安装Eclipse程序. 今天我们就要用他来创建我们的第一个程序.绝大多数程序教程的第一个程序,都叫做HelloWorld.那么我们就来编一个HelloWorld程序. 1, 文件2, 新建项目3, 选择J2ME,J2ME Midlet Suite4, 输入项目名称:MyFirstJ2ME5, 选

J2ME程序开发新手入门九大要点

程序     一.J2ME中需要的Java基础知识 现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明. J2ME中使用到的Java基础知识: 1.Java语法基础:包括基本数据类型.关键字.运算符等等     2.面向对象的思想:类和对象的概念,继承和多态等等. 3.异常处理 4.多线程 J2ME中没有用

J2ME程序开发全方位基础讲解汇总

程序     一.J2ME中需要的Java基础知识 现在有大部分人,都是从零开始学J2ME的,学习J2ME的时候,总是从Java基础开始学习,而且现在讲Java基础的书籍中都是以J2SE来讲基础,这就给学习造成了一些不必要的麻烦,下面将J2ME中用到的和不需要的Java基础知识做一个简单的说明. J2ME中使用到的Java基础知识:   1.Java语法基础:包括基本数据类型.关键字.运算符等等   2.面向对象的思想:类和对象的概念,继承和多态等等.   3.异常处理   4.多线程 J2ME

解决Eclipse无法调试J2ME程序的配置方法

用Eclipse无法调试J2ME程序,Eclipse配置方法如下: 菜单栏Window→Preferences→Java→Debug 去掉suspend execution on uncaught exceptions和Suspend execution on compilation errors前面两个勾勾,再把Debugger timeout(ms)设置为不少于15000ms 调试配置是通用的,只不过调试J2ME时会忘了.