`

使用antenna(ant拓展项目)编译、打包j2me程序

阅读更多
antenna是ant的一个扩展项目,主要封装了j2me的编译打包方法。以下是一个Ant脚本,当中有用到了第三方库:
<?xml version="1.0"?>
<project name="UIdemo" default="build" basedir=".">
	<!-- 属性定义 -->
	<property name="wtk.home" value="E:\programs\sprint wtk"/>
	<property name="wtk.midp.version" value="2.0"/>
	<property name="wtk.cldc.version" value="1.1"/>
	<property name="midlet.name" value="Demo"/>
	<property name="midlet.home" value="."/>
	<property name="app.name" value="手机动漫"/>
	<property name="app.vendor" value="中国移动"/>
	<property name="app.version" value="2.3.0"/>
	
	<!--wtk库-->
	<path id="wtk_path">
		<fileset dir="${wtk.home}\lib">
			<include name="**/*.jar"/>
		</fileset>
	</path>

	<!--第三方库-->
	<path id="external_path">
		<fileset dir="lib">
			<include name="*.jar"/>
		</fileset>
	</path>

	<!-- 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 -->
		<wtkjad jadfile="${midlet.name}.jad" name="${app.name}" vendor="${app.vendor}" version="${app.version}">
			<midlet name="MIDlet-1" icon="/image/logo1.png" class="com.gaoyang.cartoon.CartoonV2Midlet"/>
		</wtkjad>

		<mkdir dir="classes"/>

		<!-- Compile everything, but don't preverify (yet). -->
		<wtkbuild srcdir="${midlet.home}/src" destdir="classes" preverify="false" encoding="UTF-8" target="1.1">
			<classpath refid="wtk_path"/>
			<classpath refid="external_path"/>
			<compilerarg value="-Xlint:deprecation"/>
		</wtkbuild>

		<!-- 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">
			<!-- 需要加入jar包的库 -->
			<libclasspath refid="external_path"/>
			<!-- 不需要加入jar包的库(wtk库)-->
			<classpath refid="wtk_path"/>
			<!-- Package our newly compiled classes and the resources from the WTK's demo application. -->
			<fileset dir="classes"/>
			<fileset dir="${midlet.home}/res"/>
		</wtkpackage>
		<wtkobfuscate jarfile="${midlet.name}.jar" jadfile="${midlet.name}.jad">
			<classpath refid="wtk_path"/>
			<argument value="'-keep public class * extends javax.microedition.midlet.MIDlet'"/>
			<argument value="-dontusemixedcaseclassnames"/>
			<argument value="-microedition "/>
			<argument value="-dontnote"/>
			<argument value="-dontwarn"/>
			<argument value="-defaultpackage ''"/>
		</wtkobfuscate>
	</target>
</project>


注意:
1、环境变量classpath中要加入antenna jar包的引用
2、打包时第三方库文件要加入jar包,而wtk则不用
3、不要在打包时添加参数obfuscate="true"直接混淆,这样可能无法加入参数,要单独混淆


Antenna项目网址:http://antenna.sourceforge.net/
分享到:
评论

相关推荐

    J2ME的编译工具

    为了构建和管理J2ME项目,开发者通常会使用特定的编译工具,其中"Antenna"就是一个针对J2ME应用的编译工具,它基于Apache Ant构建,为J2ME应用程序的打包和部署提供了便利。 **Apache Ant** Apache Ant是一个Java...

    使用Ant和Antenna开发MIDP应用程序

    Antenna是Ant的扩展,专为MIDP应用设计,提供了一系列与J2ME/MIDP相关的任务,如编译CLDC/MIDP代码、创建JAR文件、签署和打包CAB文件(对于Windows Mobile)。Antenna简化了MIDP开发的构建流程,使得开发者可以专注...

    j2me开发环境配置

    同时,你可以选择是否启用Antenna JAR,它可以帮助你使用Ant脚本来自动化J2ME程序的打包过程。 接着,配置**设备管理**。在"Device Management"中,浏览并选择WTK安装目录下的"bin"文件夹,然后点击"Refresh",...

    antenna-bin-1.0.2.jar

    Antenna是基于ant的j2me开发工具。可以使用antenna对j2me程序进行 编译、校验、打包、混淆等,甚至可以通过antenna所定义的task,运行已经打包完成的jar;还可以将打包完成jad和jar部署到OTA服务器上。

    antenna-1.1.0-beta

    "antenna-1.1.0-beta"是一个用于Eclipse集成开发环境中的工具,特别设计用来支持J2ME(Java 2 Micro Edition)应用程序的打包流程。J2ME是Java平台的一个子集,主要用于移动设备、嵌入式系统和其他资源有限的计算...

    antenna-src-0.9.13

    Antenna是基于Apache Ant的扩展,它允许开发者通过Ant构建文件更方便地管理、编译和打包J2ME项目。在Eclipse这样的集成开发环境中,虽然不是所有配置都必须包含Antenna的JAR文件,但其提供的功能对于提升J2ME应用的...

    Eclipse+EclipseME+WTK搭建J2ME开发环境

    - 在“Antenna JAR”项中,可选填入 Antenna JAR 的路径,这将允许使用 Ant 脚本来打包 J2ME 程序。 3. **设备管理**: - 在首选项中选择“设备管理”,点击“Import”,浏览并选择 WTK 的 bin 目录,然后点击...

    Eclipse3.1.1+EclipseME1.5+WTK2.2搭建J2ME开发环境

    - Antenna JAR:非必填项,但使用它可以方便地编写Ant文件,用于J2ME程序的打包。 **步骤3:设备管理** - 在“Device Management”中,点击“浏览”,选择WTK安装目录下的bin文件夹,然后点击“刷新”,插件会...

    antenna-src-1.1.0-beta.zip

    3. **build.xml**: 这是Apache Ant的构建文件,用于自动化构建过程,如编译、打包和测试等。开发者可以通过修改这个文件来定制他们的构建流程。 4. **etc**、**src**、**res**、**doc**、**samples**:这些是标准的...

    antenna-bin-0.9.13

    antenna是ant的扩展包,它是专用来构建、编译、打包、部署J2ME应用的辅助工具版本0.9.13

    iuhyiuhkjh908u0980

    21. **EJB与Ant**:在EJB项目中,可能会遇到Ant编译和打包的问题,需要调试和解决。 22. **Linux部署**:使用Ant脚本进行远程Linux服务器上的应用部署,可能涉及SSH连接和文件传输。 23. **Cobertura覆盖率工具**...

Global site tag (gtag.js) - Google Analytics