俺用的是JDK1.5,WTK2.5.2,apache-ant-1.7.0,retroguard-v2.3.1
          俺的目錄結構是這樣的

          --下面是build.xml的內容
          <?xml version="1.0" encoding="GB2312"?>
          <project name="第一個MIDP程序" default="all" basedir=".">
            <!-- 引入位于build.properties之中的常用屬性-->
            <property file="build.properties"/>
           
            <target name="prepare" description="準備工作">
              <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="預先審核" 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="使用模擬器執行">
              <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的內容
          #此文件用來設定一些常用屬性

          #項目名稱
          name=MyFirst

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

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

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

          #建構產物放置位置
          build.dir=build

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

          #經過預先審核之后的類文件放置位置
          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所在路徑,這個路徑前的/耽誤我很長時間
          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文件內容
          .class my/DirstMIDlet

          --下面是MANIFEST.MF文件內容
          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文件內容
          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


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 饶阳县| 饶平县| 枣庄市| 嘉禾县| 桦南县| 商水县| 邹平县| 郁南县| 海盐县| 建德市| 库伦旗| 普兰县| 万盛区| 鹤壁市| 阜新| 乐山市| 怀安县| 贺州市| 五家渠市| 南丹县| 舒兰市| 涪陵区| 肃南| 卢湾区| 溧阳市| 宿迁市| 泰安市| 什邡市| 牟定县| 陆良县| 玉门市| 沐川县| 沾益县| 西华县| 宾阳县| 锦州市| 丹凤县| 鹤峰县| 固阳县| 贵港市| 塘沽区|