亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

在Eclipse中使用Ant來自動編譯J2me程序

2019-11-18 12:53:44
字體:
來源:轉載
供稿:網友

  今天是比較郁悶的一天,一不小心把eclipse的一個j2me項目中的verified/classes目錄中的東東刪除了。之后才發現eclipse是如何懲罰我的:它再也不會在這個目錄中生成class了,呵呵,罷工了我的工。
  
  為什么eclipse不是想netbeans那樣用ant來編譯、運行j2me項目那??好在本人目前正在研究ant,呵呵,小試牛刀地用了2小時做了個比較完善的ant腳本可以來彌補一下eclipse對我心情的打擊了。
  
  下面我把這個腳本和源程序(含demo)貢獻出來,大家一起研究探討。
  
  完成以下功能:
  1.建立基本目錄框架
  2.編譯src目錄中的源文件
  3.調用PReverify.exe對類文件進行驗證
  4.將類文件生成jar包
  5.調用proguard類對jar包進行混淆,并解壓縮
  6.將經過混淆、解壓縮后的類、資源文件生成jar包,復制src目錄中的jad文件,完成程序部署
  7.調用emulator運行程序
  
  用法:
  只需要修改一下CONF.properties文件中的屬性:
  1.midp.lib.dir-WTK的lib目錄路徑(位于CONF.properties文件中)
  2.midp.lib.path-根據需要擴展使用的jar(位于CONF.properties文件中)
  3.programName-生成jar/jad文件的名字
  在本腳本中可修改的地方:
  preverify.exe和emulator.exe的具體參數可以根據需要修改。
  
  注重:
  1.src目錄中需要有MANIFEST.MF和${programName}.jar文件,這些將用在生成jar和部署程序時.
  2.res目錄中放置使用的png圖片文件.
  
  附加類庫:
  混淆器類Proguard-位于lib中。
  
  文件說明:
  CONF.properties:配置屬性文件
  GEN.properties:生成MANIFEST.MF和${programName}.jad文件的替換屬性文件
  JAD.tmp:生成jad文件用到的替換模板文件
  MANIFEST.tmp:生成MANIFEST.MF文件用到的替換模板文件
  
  <?XML version="1.0" encoding="GBK"?>
  <project name="automake" default="end" basedir=".">
  <property file="CONF.properties"/>
  <property name="src.dir" value="${basedir}/src"/>
  <property name="res.dir" value="${basedir}/res"/>
  <property name="build.dir" value="${basedir}/build"/>
  <property name="deploy.dir" value="${basedir}/deploy"/>
  <property name="package.dir" value="${basedir}/package"/>
  <property name="package.extract.dir" value="${package.dir}/extract"/>
  <property name="preverified.dir" value="${basedir}/preverified"/>
  <property name="preverified.noObfusedClass.dir" value="${preverified.dir}/noObfused/classes"/>
  <property name="preverified.obfusedClass.dir" value="${preverified.dir}/obfused/classes"/>
  <property name="preverify.bin" value="${wtk.home.dir}/bin/preverify.exe"/>
  <property name="emulator.bin" value="${wtk.home.dir}/bin/emulator.exe"/>
  <property name="proguard.lib.dir" value="${basedir}/lib"/>
  <property name="jad.file" value="${programName}.jad"/>
  <target name="init" description="初始化環境">
  <echo message="初始化目錄"/>
  <delete dir="${build.dir}"/>
  <delete dir="${deploy.dir}"/>
  <delete dir="${package.dir}"/>
  <delete dir="${preverified.dir}"/>
  <mkdir dir="${build.dir}"/>
  <mkdir dir="${deploy.dir}"/>
  <mkdir dir="${package.dir}"/>
  <mkdir dir="${package.extract.dir}"/>
  <mkdir dir="${preverified.dir}"/>
  <mkdir dir="${preverified.noObfusedClass.dir}"/>
  <mkdir dir="${preverified.obfusedClass.dir}"/>
  </target>
  <target name="complie" depends="init" description="編譯">
  <echo message="編譯程序"/>
  <Javac srcdir="${src.dir}" destdir="${build.dir}">
  <bootclasspath path="${midp.lib.dir}"/>
  <classpath>
  <fileset dir="${midp.lib.dir}" includes="*.jar"/>
  </classpath>
  </javac>
  </target>
  <target name="verifyForNoObfuscate" description="驗證j2me的class,將驗證后的class輸出到${preverified.noObfusedClass.dir}">
  <echo message="驗證生成的class,將驗證后的class輸出到${preverified.noObfusedClass.dir}"/>
  <exec executable="${preverify.bin}" searchpath="false">
  <arg line="-classpath ${midp.lib.path}"/>
  <arg line="-d ${preverified.noObfusedClass.dir}"/>
  <arg line="${build.dir}"/>
  </exec>
  </target>
  <target name="genManifest" description="根據模板屬性文件的值生成Manifest文件">
  <echo message="根據模板屬性文件的值生成Manifest文件"/>
  <!--
  使用${programName}替換掉屬性文件GEN.properties中的@PROGRAMNAME@
  -->
  <replace file="GEN.properties"
  token="@PROGRAMNAME@"
  value="${programName}"
  />
  <!--
  使用GEN.properties文件中的屬性值替換掉模板文件MANIFEST.tmp中的對應屬性值,
  將替換后的數據復制到${src.dir}/MANIFEST.MF
  -->
  <copy file="MANIFEST.tmp"
  tofile="${src.dir}/MANIFEST.MF">
  <filterset begintoken="@" endtoken="@">
  <filtersfile file="GEN.properties"/>
  </filterset>
  </copy>
  </target>
  <target name="package" description="將class打包,輸出到${package.dir}">
  <echo message="將class打包,輸出到${package.dir}"/>
  <jar basedir="${preverified.noObfusedClass.dir}"
  jarfile="${package.dir}/${programName}-noObfused.jar"
  manifest="${src.dir}/MANIFEST.MF"   >
  <fileset dir="${res.dir}" includes="**/*.png"/>
  </jar>
  </target>
  <target name="obfuscate" description="對打包后的jar文件進行混淆,然后解壓縮至${package.extract.dir}">   <echo message="對打包后的jar文件進行混淆,然后解壓縮至${package.extract.dir}"/>
  <java fork="true" classname="proguard.ProGuard">
  <classpath path="${proguard.lib.dir}/proguard.jar"/>
  <arg line="-libraryjars ${midp.lib.path}"/>
  <arg line="-injar ${package.dir}/${programName}-noObfused.jar"/>
  <arg line="-outjar ${package.dir}/${programName}-obfused.jar"/>
  <!--保留MIDlet的類聲明不被混淆-->
  <arg line="-keep 'public class * extends javax.microedition.midlet.MIDlet'"/>
  <!--打印被保留的類名-->
  <arg line="-printseeds"/>
  </java>
  <unjar src="${package.dir}/${programName}-obfused.jar"
  dest="${package.extract.dir}"   />
  </target>
  <target name="verifyForObfuscate" description="驗證被混淆的class,輸出到${preverified.obfusedClass.dir}">
  <echo message="驗證被混淆的class,輸出到${preverified.obfusedClass.dir}"/>   <exec executable="${preverify.bin}" searchpath="false">
  <arg line="-classpath ${midp.lib.path}"/>
  <arg line="-d ${preverified.obfusedClass.dir}"/>
  <arg line="${package.extract.dir}"/>
  </exec>
  <copy todir="${preverified.obfusedClass.dir}">
  <fileset dir="${package.extract.dir}" includes="**/*.png"/>
  </copy>
  </target>
  <target name="deploy" description="將經過驗證的混淆后的class打包,部署在delpoy目錄">
  <echo message="將經過驗證的混淆后的class打包,部署在${deploy.dir}目錄"/>
  <jar basedir="${preverified.obfusedClass.dir}"
  jarfile="${deploy.dir}/${programName}.jar"
  manifest="${src.dir}/MANIFEST.MF"
  >
  <fileset dir="${preverified.obfusedClass.dir}" includes="**/*.class;*.png"/>
  </jar>
  </target>
  <target name="genJad" description="在${deploy.dir}目錄生成JAD文件">
  <echo message="在${deploy.dir}目錄生成JAD文件"/>
  <length file="${deploy.dir}/${programName}.jar" property="jarsize"/>
  <echo message="獲得jar文件長度:${jarsize}"/>
  <replace file="GEN.properties"
  token="@JARSIZE@"
  value="${jarsize}"
  />
  <replace file="GEN.properties"
  token="@PROGRAMNAME@"
  value="${programName}"
  />
  <copy file="JAD.tmp" tofile="${deploy.dir}/${programName}.jad">
  <filterset begintoken="@" endtoken="@">
  <filtersfile file="GEN.properties"/>
  </filterset>
  </copy>
  </target>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲free性xxxx护士白浆| 国内免费精品永久在线视频| 搡老女人一区二区三区视频tv| 国产精品一区二区电影| 91在线视频一区| 国产午夜一区二区| 日韩电影免费在线观看中文字幕| 欧美大片免费观看在线观看网站推荐| 久久中国妇女中文字幕| 最近2019年手机中文字幕| 久久偷看各类女兵18女厕嘘嘘| 亚洲一区二区精品| 久久精品国产一区二区电影| 欧美性猛交xxxx免费看久久久| 亚洲天堂日韩电影| 欧美视频在线观看免费| 中文字幕欧美日韩精品| 欧美成人高清视频| 欧美日韩国产影院| 亚洲欧美www| 日本一区二区在线播放| 日韩欧美在线视频| 久久免费少妇高潮久久精品99| 久久精品人人做人人爽| 久久伊人精品一区二区三区| 欧美一级黑人aaaaaaa做受| 91精品视频在线免费观看| 亚洲欧美在线一区二区| 精品无人区乱码1区2区3区在线| 欧美日本在线视频中文字字幕| 日韩视频免费在线观看| 欧美日韩xxx| 免费97视频在线精品国自产拍| 欧美做受高潮1| 亚洲乱码一区av黑人高潮| 久久精品视频在线| 欧美做受高潮1| 亚洲毛片在线免费观看| 亚洲国产精品人久久电影| 欧美孕妇毛茸茸xxxx| 欧美巨乳美女视频| 国产精品日韩精品| 91久久久久久久久久| 国产日本欧美一区二区三区| 日本韩国欧美精品大片卡二| 2019国产精品自在线拍国产不卡| 美日韩在线视频| 日韩av有码在线| 精品女厕一区二区三区| 欧美一级在线亚洲天堂| 久久久精品一区二区三区| 亚洲xxxx视频| 日韩激情第一页| 91精品国产精品| 91亚洲国产成人久久精品网站| 久久97精品久久久久久久不卡| 成人福利在线观看| 国产日韩av高清| 欧美成人中文字幕在线| 久久精品一区中文字幕| 国产精品网红直播| 日日骚久久av| 亚洲国产高清自拍| 亚洲人永久免费| 成人免费大片黄在线播放| 日韩a**中文字幕| 法国裸体一区二区| 粉嫩av一区二区三区免费野| 日韩成人在线视频| 欧美在线视频在线播放完整版免费观看| 精品中文视频在线| 国产精品自拍偷拍视频| 日韩在线视频网站| 国产国语刺激对白av不卡| 欧美日韩亚洲精品一区二区三区| 国产女人18毛片水18精品| 日韩在线高清视频| 亚洲午夜久久久影院| 国产精品99一区| 神马久久久久久| 91久久精品国产91久久性色| 国产91热爆ts人妖在线| 亚洲男人天堂2019| 亚洲色图25p| 亚洲成人1234| 91久久精品国产91久久| 久久精品免费播放| 欧美日韩国产综合视频在线观看中文| 久久亚洲精品国产亚洲老地址| 777午夜精品福利在线观看| 亚洲va电影大全| 国产成人精彩在线视频九色| 亚洲毛片在线免费观看| 在线播放亚洲激情| 亚洲天堂av在线播放| 亚洲国产女人aaa毛片在线| 日韩av中文字幕在线免费观看| 亚洲视频999| 国内精品一区二区三区四区| 久久国产精品视频| 久久6精品影院| 日韩最新中文字幕电影免费看| 国产91色在线|免| 粗暴蹂躏中文一区二区三区| 国产91色在线免费| 日韩av在线网址| 狠狠色香婷婷久久亚洲精品| 亚洲国产成人久久综合一区| 在线亚洲午夜片av大片| 97视频人免费观看| 亚洲人a成www在线影院| 久久精品国产一区二区电影| 成人av在线天堂| 2020欧美日韩在线视频| 欧美午夜丰满在线18影院| 日韩av手机在线| 亚洲美女久久久| 欧美日韩一区二区三区| 国外成人性视频| 日韩美女视频免费看| 国产精品视频xxxx| 91亚洲精品久久久久久久久久久久| 精品国模在线视频| 久久精品国产亚洲一区二区| 国内免费久久久久久久久久久| 亚洲天堂成人在线视频| 日韩在线观看av| 久久99热这里只有精品国产| 亚洲福利在线观看| 日韩小视频在线| 欧美黑人xxxⅹ高潮交| 欧美国产精品人人做人人爱| 亚洲精品美女久久久| 7777免费精品视频| 91探花福利精品国产自产在线| 久久久亚洲精品视频| 亚洲最大成人免费视频| 欧美精品一区二区三区国产精品| 97欧美精品一区二区三区| 在线电影欧美日韩一区二区私密| 中文字幕国产精品久久| 国产69精品久久久久9| 久久国产精品电影| 国产亚洲精品综合一区91| 久久免费观看视频| 欧美激情综合色综合啪啪五月| 91国产高清在线| 亚洲欧美综合另类中字| 韩国三级电影久久久久久| 久久精品国产视频| 国产精品美女久久| 欧美专区福利在线| 色香阁99久久精品久久久| 亚洲字幕一区二区| 欧美国产视频一区二区| 亚洲一区二区免费| 欧美性视频网站| 国产91精品在线播放| 国产精品视频午夜| 一区二区三区高清国产| 日本久久久久久久| 日韩精品丝袜在线| 亚洲欧美日韩第一区| 亚洲综合在线小说|