今天是比较郁闷的一天,一不小心把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文件用到的替换模板文件
token="@PROGRAMNAME@"
value="${programName}"
/>
tofile="${src.dir}\MANIFEST.MF">
jarfile="${package.dir}\${programName}-noObfused.jar"
manifest="${src.dir}\MANIFEST.MF" >
dest="${package.extract.dir}" />
jarfile="${deploy.dir}\${programName}.jar"
manifest="${src.dir}\MANIFEST.MF"
>
token="@JARSIZE@"
value="${jarsize}"
/>
token="@PROGRAMNAME@"
value="${programName}"
/>