| 
 之前做一个打包工具,对Antenna和Ant等研究了一些,并把一些记录保存在Excel文件了,现在贴出来。 
 一. Antenna包含的Task  | 
|
| 任务 | 说明 | 
| wtkjad | 建立一个新的JAD文件或更新已存在的某个JAD | 
| wtkbuild | 对Ant中的javac任务的扩展 | 
| wtkpackage | 对Ant中的jar任务的扩展,可以加入lib和验证并混淆 | 
| wtkmakeprc | 转换JAR/JAD到PalmOS PRC文件 | 
| wtkrun | 用wtk去运行MIDlet | 
| wtkrapc | 调用BlackBerry的rapc编译器 | 
| wtkpreverify | 预校验classes文件 | 
| wtkobfuscate | 混淆JAR文件 | 
| wtksmartlink | 从JAR文件中移除无用的classes | 
| wtkpreprocess | 预处理,可以在代码使用#if等 | 
| wtkdeploy | 部署MIDlet到一个下载Sevelet服务器 | 
| wtksign | 数字签名MIDle | 
| JAD | |||
| 参数 | 类型 | 必需 | 说明 | 
| jadfile | file | yes | 要建立或修改的JAD文件的名称 | 
| jarfile | file | no | 对应的JAR文件名称,如果指定了就会尝试去修改MIDlet-Jar-URL和MIDlet-Jar-Size两个属性,注意"deploy"参数也会对MIDlet-Jar-URL作修改 | 
| manifest | file | no | 从JAD文件抽取部分属性来生成manifest.mf文件;mf文件不受"update"参数影响 | 
| update | boolean | no | 如果为true则更新已存在的JAD文件而不是新建; | 
| target | URL | no | |
| name | string | no | MIDlet Suite名称,MIDlet-Name的值 | 
| vendor | string | no | 开发商名称,MIDlet-Vendor的值 | 
| version | string | no | 版本号,MIDlet-Version的值 | 
| autoversion | boolean | no | 自动增加版本号,1.0.0 | 
| encoding | string | no | 指定读写JAD和MANIFEST文件的编码 | 
| if | string | no | 只有在某个属性有定义时才执行 | 
| unless | string | no | 只有在某个属性没有定义时才执行 | 
| 嵌套元素<midlet> :添加任意数量的MIDlet | |||
| 参数 | 类型 | 必需 | 说明 | 
| name | string | yes | MIDlet的名称 | 
| icon | string | no | 图标路径 | 
| class | string | yes | 继承MIDlet的类 | 
| if | string | no | … | 
| unless | string | no | … | 
| 嵌套元素<attribute> :添加任意数量的自定义属性 | |||
| 参数 | 类型 | 必需 | 说明 | 
| name | string | yes | 属性key | 
| value | string | no | 属性value,如果为空会被自动移除 | 
| if | string | no | … | 
| eles | string | no | … | 
| 对Ant的javac任务的默认参数值 | |||
| 参数 | 值 | ||
| target | 1.1 | ||
| debug | TRUE | ||
| bootclasspath | midpapi.zip | ||
| wtkpackage是对Ant的jar任务的扩展 | |||
| 参数 | 类型 | 必需 | 说明 | 
| jarfile | file | yes | 要建立或更新的JAR名称 | 
| jadfile | file | yes | JAD名称,必需已存在,否则不会在这里建立 | 
| config | string | no | MicroEdition-Configuration的值,写到mf文件,默认是CLDC-1.0或使用wtk.cldc.version | 
| profile | string | no | MicroEdition-Profile的值,写到mf文件,默认MIDP-1.0或使用wtk.midp.version | 
| autoversion | boolean | no | MIDlet-Version是否自动增加 | 
| preverify | boolean | no | 预校验 | 
| cldc | boolean | no | 如果为false,"-cldc"在预校验中不通过,默认true | 
| nonative | boolean | no | |
| nofloat | boolean | no | |
| nofinalize | boolean | no | |
| obfuscate | boolean | no | 为true将混淆JAR | 
| keepmanifestorder | boolean | no | |
| bootclasspath | path | no | |
| classpath | path | no | |
| libclasspath | path | no | 一些外部lib;可以使用ant的FileSet/ZipFileSet/ZipGroupFileSet嵌套元素 | 
| classpathref | string | no | 在其它地方指定classpath的参数 | 
| bootclasspathref | string | no | 在其它地方指定bootclasspath的参数 | 
| libclasspathref | string | no | 在其它地方指定libclasspath的参数 | 
| if | string | no | |
| unless | string | no | |
| verbose | boolean | no | 允许为任务输出设置verbosity(冗长) | 
| 混淆时的一个嵌套元素<preserve> | |||
| 参数 | 类型 | 必需 | 说明 | 
| class | string | yes | 指定一个class在混淆的时候不需要作混淆/最优化处理 | 
| if | string | no | |
| unless | string | no | |
预处理
| 参数 | 类型 | 必需 | 说明 | 
| srcfile | file | 其中一个 | 包含未预校验过的classes文件夹 | 
| jarfile | file | 未预校验过的JAR文件 | |
| destdir | file | yes,如果使用"srcdir" | 放预校验后classes的目标目录 | 
| tojarfile | file | no,不过可以跟"jarfile"组合 | 预校验后的JAR文件,如果没有指定将覆盖源JAR文件 | 
| jadfile | file | no | 和JAR文件关联的JAD | 
| bootclasspath | path | no | midpapi.zip | 
| classpath | path | no | 额外的libs,不过不是JAR的一部分,例如NokiaUI.zip | 
| classpathref | string | no | |
| bootclasspathref | string | no | |
| cldc | boolean | no | |
| nonative | boolean | no | |
| nofloat | boolean | no | |
| nofinalize | boolean | no | |
| if | string | no | |
| unless | string | no | 
混淆
| 参数 | 类型 | 必需 | 说明 | 
| jarfile | file | yes | 未混淆的JAR文件 | 
| jadfile | file | no | 关联的JAD文件 | 
| tojarfile | file | no | 混淆后的输出JAR文件,默认覆盖源JAR文件 | 
| bootclasspath | path | no | midpapi | 
| classpath | path | no | 额外的lib | 
| classpathref | string | no | |
| bootclasspathref | string | no | |
| obfuscator | string | no | 选择"proguard"还是"retroguard" | 
| if | string | no | |
| unless | string | no | |
| verbose | boolean | no | |
| 嵌套元素: <preserve> | |||
| 参数 | 类型 | 必需 | 说明 | 
| class | string | yes | 一个既不混淆也不删除的class的全名(包括包名),如果是proguard就不用指定了 | 
| if | string | no | |
| else | string | no | |
| 嵌套元素: <argument> | |||
| 参数 | 类型 | 必需 | 说明 | 
| value | string | yes | 指定在混淆器通过的argument | 
| if | string | no | |
| unless | string | no | |