俺用的是JDK1.5,WTK2.5.2,apache-ant-1.7.0,retroguard-v2.3.1
          俺的目錄結(jié)構(gòu)是這樣的

          --下面是build.xml的內(nèi)容
          <?xml version="1.0" encoding="GB2312"?>
          <project name="第一個(gè)MIDP程序" default="all" basedir=".">
            <!-- 引入位于build.properties之中的常用屬性-->
            <property file="build.properties"/>
           
            <target name="prepare" description="準(zhǔn)備工作">
              <mkdir dir="${build.dir}"/>
              <mkdir dir="${build.dir.classes}"/>
              <mkdir dir="${build.dir.obfused}"/>
              <mkdir dir="${build.dir.preverified}"/>
              <mkdir dir="${build.dir.bin}"/>
            </target>
           
            <target name="cleandir" description="清除目錄">
              <delete dir="${build.dir}"/>
            </target>
           
            <target name="compile" description="編譯源代碼" depends="prepare">
              <javac debug="on"  bootclasspath="${midp.api}" classpath="${midp.api};."
                srcdir="${src.dir}" destdir="${build.dir.classes}"/>
            </target>

            <target name="beforeobfuse" description="混淆前先打包成JAR" depends="compile">
              <jar basedir="${build.dir.classes}" jarfile="${build.dir.bin.jarunobfus}"/>
            </target>

            <target name="obfuscate" description="使用混淆器" depends="beforeobfuse">
              <java fork="yes" classname="RetroGuard" classpath="${obfuscator.lib};${midp.api};.">
                <arg line="${build.dir.bin.jarunobfus}"/>
                <arg line="${build.dir.bin.jarobfused}"/>
                <arg line="${obfuscator.script}"/>
              </java>
            </target>

            <target name="afterobfuse" description="混淆后再把JAR解包" depends="obfuscate">
              <unzip src="${build.dir.bin.jarobfused}" dest="${build.dir.obfused}"/>
              <delete dir="${build.dir.obfused}/META-INF"/>
            </target>

            <target name="preverify" description="預(yù)先審核" depends="afterobfuse">
              <exec executable="${midp.home}/bin/preverify1.1">
                <arg line="-classpath ${midp.api};."/>
                <arg line="-d ${build.dir.preverified}"/>
                <arg line="${build.dir.obfused}"/>
              </exec>
            </target>

            <target name="package" description="包裝成JAR與JAD" depends="preverify">
              <jar basedir="${build.dir.preverified}" jarfile="${build.dir.bin.jar}" manifest="MANIFEST.MF">
                <fileset dir="${res.dir}"/>
              </jar>
              <copy file="${jad}" tofile="${build.dir.bin}/${jad}"/>
            </target>
           
            <target name="run" description="使用模擬器執(zhí)行">
              <exec executable="${midp.home}/bin/emulator">
                <arg line="-Xdescriptor:${build.dir.bin}/${jad}"/>
              </exec>
            </target>

            <target name="all" description="完成所有步驟" depends="cleandir,package,run"/>
             
          </project>

          --下面是build.properties的內(nèi)容
          #此文件用來設(shè)定一些常用屬性

          #項(xiàng)目名稱
          name=MyFirst

          #JAD與JAR的文件名
          jar=${name}.jar
          jad=${name}.jad

          #源文件所在路徑
          src.dir=src

          #資源文件所在路徑
          res.dir=res

          #建構(gòu)產(chǎn)物放置位置
          build.dir=build

          #編譯后類文件的放置位置
          build.dir.classes=${build.dir}/classes
          #未經(jīng)過混淆的JAR文件名
          build.dir.bin.jarunobfus=${build.dir.bin}/${name}-unobfus.jar
          #經(jīng)過混淆的JAR文件名
          build.dir.bin.jarobfused=${build.dir.bin}/${name}-obfused.jar
          #混淆后類的放置位置
          build.dir.obfused=${build.dir}/obfused

          #經(jīng)過預(yù)先審核之后的類文件放置位置
          build.dir.preverified=${build.dir}/preverified

          #JAD與JAR的放置位置
          build.dir.bin=${build.dir}/bin
          #最終的JAR文件名
          build.dir.bin.jar=${build.dir.bin}/${jar}

          #J2ME Wireless Toolkit所在路徑,這個(gè)路徑前的/耽誤我很長(zhǎng)時(shí)間
          midp.home=D:/WTK252

          #MIDP程序庫所在路徑
          midp.api=${midp.home}/lib/midpapi21.jar;${midp.home}/lib/cldcapi11.jar

          #空白MIDP程序庫所在路徑
          midp.emptyapi=${midp.home}/wtklib/kenv.zip

          #混淆器與控制文件
          obfuscator.lib=retroguard.jar
          obfuscator.script=script.rgs


          --下面是script.rgs文件內(nèi)容
          .class my/DirstMIDlet

          --下面是MANIFEST.MF文件內(nèi)容
          MIDlet-Name: HelloWorld
          MIDlet-Version: 1.0.0
          MIDlet-Vendor: Sun Microsystems,Inc.
          MIDlet-Description: Sample Hello World MIDlet
          MIDlet-Info-URL: http://java.sun.com/j2me/
          MIDlet-1: HelloWorld,, my.FirstMIDlet
          MicroEdition-Profile: MIDP-2.1
          MicroEdition-Configuration: CLDC-1.1

          --下面是MyFirst.jad文件內(nèi)容
          MIDlet-Name: HelloWorld
          MIDlet-Version: 1.0.0
          MIDlet-Vendor: Sun Microsystems,Inc.
          MIDlet-Description: Sample Hello World MIDlet
          MIDlet-Info-URL: http://java.sun.com/j2me/
          MIDlet-Jar-URL: MyFirst.jar
          MIDlet-Jar-Size: 1020
          MIDlet-1: HelloWorld,, my.FirstMIDlet
          MicroEdition-Profile: MIDP-2.1
          MicroEdition-Configuration: CLDC-1.1


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 平塘县| 云南省| 泸溪县| 盐边县| 施秉县| 晋中市| 吉安市| 柳林县| 孟村| 调兵山市| 当阳市| 武川县| 河北区| 三亚市| 北票市| 仁布县| 宁安市| 松原市| 梅州市| 镇赉县| 鹤峰县| 湘阴县| 门头沟区| 河池市| 台东市| 阳原县| 新邵县| 吉木乃县| 富民县| 祥云县| 玉屏| 亳州市| 天等县| 昭通市| 荣昌县| 白河县| 丰都县| 应城市| 辽中县| 彰武县| 芷江|