如何编写Build对文件手机软件的编译--使用antenna和ant
2010-08-03 14:11
501 查看
要使用antenna,结合ant进行编译,首先必须保证ant下有antenna的jar包,并保证在环境变量CLASSPATH下,一般apache-ant下都自动带有antenna的jar包,请注意版本,我使用的antenna是V1.2的,而apache自动带的是V1.1的。
build.xml文件的内容如下:
<?xml version="1.0" encoding="GBK" ?>
<project name="wireless" default="build" basedir=".">
<property name="wtk.home" value="D:/Program Files/WTK2.5.2_01"/>
<property name="java.home" value="D:/Program Files/Java/jdk1.6.0_10"/>
<property name="jre.home" value="${java.home}"/>
<property name="j2me.home" value="D:/Program Files/Java_ME_platform_SDK_3.0"/>
<property name="ant.home" value="D:/Program Files/apache-ant-1.7.0"/>
<property name="wtk.lib.dir" value="${wtk.home}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<property name="res.dir" value="${basedir}/res" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="dest.dir" value="${build.dir}/temp" />
<property name="midlet.name" value="iRead_tcl"/>
<property name="midlet.home" value="."/>
<property name="wtk.cldc.version" value="1.0"/>
<property name="wtk.midp.version" value="2.0"/>
<property name="bootclasspath" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;${wtk.home}/lib/wma20.jar"/>
<property name="wtk.midpapi" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;
${wtk.home}/lib/wma20.jar;${wtk.home}/lib/mmapi.jar;
${wtk.home}/lib/j2me-ws.jar;${wtk.home}/lib/jsr75.jar;
${wtk.home}/lib/jsr082.jar;${wtk.home}/lib/jsr184.jar"/>
<taskdef resource="antenna.properties"/>
<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"/>
<path id="classpath">
<fileset dir="${ant.home}/lib">
<include name="antenna-bin.jar" />
</fileset>
<fileset dir="${wtk.home}/lib">
<include name="midpapi20.jar" />
<include name="cldcapi11.jar" />
<include name="wma20.jar" />
</fileset>
<fileset dir="${wtk.home}/bin">
<include name="proguard.jar" />
</fileset>
<fileset dir="${java.home}/lib">
<include name="*.*" />
<include name="tools.jar" />
<include name="dt.jar" />
</fileset>
<fileset dir="${jre.home}/lib">
<include name="rt.jar" />
</fileset>
</path>
<target name="build" depends="clean" >
<mkdir dir="${classes.dir}" />
<wtkjad jadfile="${midlet.name}.jad"
jarfile ="iRead_tcl.jar"
name="iRead"
vendor="booker"
version="1.49.41"
manifest="MANIFEST.MF">
<attribute name="MIDlet-1"
value="iRead_tcl,/icon.png,com.company.Main"/>
<attribute name="Manifest-Version" value="1.0"/>
<attribute name="MIDlet-Vendor"
value="booker"/>
<attribute name="MIDlet-Version" value="1.49.43"/>
<attribute name="MIDlet-Name" value="iRead."/>
</wtkjad>
<wtkbuild srcdir="${src.dir}"
destdir="${classes.dir}"
preverify="false"
bootclasspath="${bootclasspath}">
<classpath refid="classpath"/>
</wtkbuild>
<wtkpackage jarfile="${midlet.name}.jar"
jadfile="${midlet.name}.jad"
obfuscate="true"
preverify="true"
autoversion="true">
<fileset dir="${classes.dir}"/>
<fileset dir="${res.dir}"/>
</wtkpackage>
#说明:package中,通过设置obfuscate和preverify要求进行自动验证和混淆,当然也可以设置成FALSE,在package完了之后再单独进行验证和混淆
#要进行混淆,必须下载proguard.jar放到wtk.home/bin目录下。混淆的目的是为了防止反编译。
# <wtkpreverify ...............>
# <wtkobfuscate ..............>
</target>
<target name="clean" >
<delete dir="${build.dir}" />
<delete dir="${basedir}/.settings" />
<!--delete dir="${src.dir}" /-->
<delete dir="${basedir}/bin" />
<echo level="info">ok</echo>
</target>
</project>
build.xml文件的内容如下:
<?xml version="1.0" encoding="GBK" ?>
<project name="wireless" default="build" basedir=".">
<property name="wtk.home" value="D:/Program Files/WTK2.5.2_01"/>
<property name="java.home" value="D:/Program Files/Java/jdk1.6.0_10"/>
<property name="jre.home" value="${java.home}"/>
<property name="j2me.home" value="D:/Program Files/Java_ME_platform_SDK_3.0"/>
<property name="ant.home" value="D:/Program Files/apache-ant-1.7.0"/>
<property name="wtk.lib.dir" value="${wtk.home}/lib" />
<property name="build.dir" value="${basedir}/build" />
<property name="src.dir" value="${basedir}/src" />
<property name="res.dir" value="${basedir}/res" />
<property name="classes.dir" value="${build.dir}/classes" />
<property name="dest.dir" value="${build.dir}/temp" />
<property name="midlet.name" value="iRead_tcl"/>
<property name="midlet.home" value="."/>
<property name="wtk.cldc.version" value="1.0"/>
<property name="wtk.midp.version" value="2.0"/>
<property name="bootclasspath" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;${wtk.home}/lib/wma20.jar"/>
<property name="wtk.midpapi" value="${wtk.home}/lib/midpapi20.jar;${wtk.home}/lib/cldcapi11.jar;
${wtk.home}/lib/wma20.jar;${wtk.home}/lib/mmapi.jar;
${wtk.home}/lib/j2me-ws.jar;${wtk.home}/lib/jsr75.jar;
${wtk.home}/lib/jsr082.jar;${wtk.home}/lib/jsr184.jar"/>
<taskdef resource="antenna.properties"/>
<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"/>
<path id="classpath">
<fileset dir="${ant.home}/lib">
<include name="antenna-bin.jar" />
</fileset>
<fileset dir="${wtk.home}/lib">
<include name="midpapi20.jar" />
<include name="cldcapi11.jar" />
<include name="wma20.jar" />
</fileset>
<fileset dir="${wtk.home}/bin">
<include name="proguard.jar" />
</fileset>
<fileset dir="${java.home}/lib">
<include name="*.*" />
<include name="tools.jar" />
<include name="dt.jar" />
</fileset>
<fileset dir="${jre.home}/lib">
<include name="rt.jar" />
</fileset>
</path>
<target name="build" depends="clean" >
<mkdir dir="${classes.dir}" />
<wtkjad jadfile="${midlet.name}.jad"
jarfile ="iRead_tcl.jar"
name="iRead"
vendor="booker"
version="1.49.41"
manifest="MANIFEST.MF">
<attribute name="MIDlet-1"
value="iRead_tcl,/icon.png,com.company.Main"/>
<attribute name="Manifest-Version" value="1.0"/>
<attribute name="MIDlet-Vendor"
value="booker"/>
<attribute name="MIDlet-Version" value="1.49.43"/>
<attribute name="MIDlet-Name" value="iRead."/>
</wtkjad>
<wtkbuild srcdir="${src.dir}"
destdir="${classes.dir}"
preverify="false"
bootclasspath="${bootclasspath}">
<classpath refid="classpath"/>
</wtkbuild>
<wtkpackage jarfile="${midlet.name}.jar"
jadfile="${midlet.name}.jad"
obfuscate="true"
preverify="true"
autoversion="true">
<fileset dir="${classes.dir}"/>
<fileset dir="${res.dir}"/>
</wtkpackage>
#说明:package中,通过设置obfuscate和preverify要求进行自动验证和混淆,当然也可以设置成FALSE,在package完了之后再单独进行验证和混淆
#要进行混淆,必须下载proguard.jar放到wtk.home/bin目录下。混淆的目的是为了防止反编译。
# <wtkpreverify ...............>
# <wtkobfuscate ..............>
</target>
<target name="clean" >
<delete dir="${build.dir}" />
<delete dir="${basedir}/.settings" />
<!--delete dir="${src.dir}" /-->
<delete dir="${basedir}/bin" />
<echo level="info">ok</echo>
</target>
</project>
相关文章推荐
- 如何编写Build文件对手机软件的编译打包----使用antenna和ant
- java ant进行编译打包,build.xml文件编写
- Linux操作系统的简单指令及如何使用vim编写一个程序,然后使用gcc查看【预处理】、【编译】、【汇编】、【链接】各阶段文件的内容。
- 如何使用IAR软件来调试和下载编译文件到MSP430 LaunchPad!
- 在Intel_Edison开发版的编译软件中配置pbc库(如何在eclipse中添加头文件和库文件)
- ant创建 发布 EJB build.xml 文件的编写
- 如何使用手机软件将图片转换为文字
- cocos2d-x 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
- Win32平台如何编译使用Google test编写的单元测试?
- 如何使用命令行编译以及运行java文件
- 使用Ant编译大量java文件时出java.lang.OutOfMemoryError
- Eclipse下如何写一个Ant Build文件
- cocos2d-x 如何使用Visual Studio 2010和xcode 4混合编写手机游戏
- 如何使用MATLAB将c/cpp文件编译成mex32/mex64文件
- 如何使用Enigma Virtual Box进行单文件绿色可执行软件的封装
- 使用ant让Android自动打包的build.xml,自动生成签名的apk文件(支持android4.0以上的版本)
- Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式
- Android编写简单的手机通讯录,只是存到数据库里面,并没有显示出来,下次更新显示到自定义适配器的通讯录(这个只是教大家SQLite数据库如何使用)
- Ant脚本文件build文件编写示例
- 如何使用cmd来编译和运行java文件