之前做一個打包工具,對Antenna和Ant等研究了一些,並把一些記錄保留在Excel文件了,現在貼出來。
一. Antenna包含的Task
任務闡明wtkjad建立一個新的JAD文件或更新已存在的某個JADwtkbuild對Ant中的Javac任務的擴大wtkpackage對Ant中的jar任務的擴大,可以加進lib和驗證並混雜wtkmakeprc轉換JAR/JAD到PalmOS PRC文件wtkrun用wtk往運行MIDletwtkrapc調用BlackBerry的rapc編譯器wtkpreverify預校驗classes文件wtkobfuscate混雜JAR文件wtksmartlink從JAR文件中移除無用的classeswtkpreprocess預處理,可以在代碼應用#if等wtkdeploy安排MIDlet到一個下載Sevelet服務器wtksign數字簽名MIDle
JAD參數類型必需闡明jadfilefileyes要建立或修正的JAD文件的名稱jarfilefileno對應的JAR文件名稱,假如指定了就會嘗試往修正MIDlet-Jar-URL和MIDlet-Jar-Size兩個屬性,留心"deploy"參數也會對MIDlet-Jar-URL作修正manifestfileno從JAD文件抽取部分屬性來天生manifest.mf文件;mf文件不受"update"參數影響update
booleanno假如為true則更新已存在的JAD文件而不是新建;targetURLno namestringnoMIDlet Suite名稱,MIDlet-Name的值vendorstringno開發商名稱,MIDlet-Vendor的值versionstringno版本號,MIDlet-Version的值autoversionbooleanno主動增加版本號,1.0.0encodingstringno指定讀寫JAD和MANIFEST文件的編碼ifstringno只有在某個屬性有定義時才履行unlessstringno只有在某個屬性沒有定義時才履行
嵌套元素<midlet> :添加任意數目標MIDlet參數類型必需闡明namestringyesMIDlet的名稱iconstringno圖標路徑classstringyes持續MIDlet的類ifstringno…unlessstringno…
嵌套元素<attribute> :添加任意數目標自定義屬性參數類型必需闡明namestringyes屬性key
valuestringno屬性value,假如為空會被主動移除ifstringno…elesstringno…
對Ant的Javac任務的默認參數值參數值target1.1debugTRUEbootclasspathmidpapi.zipwtkpackage是對Ant的jar任務的擴大參數類型必需闡明jarfilefileyes要建立或更新的JAR名稱jadfilefileyesJAD名稱,必需已存在,否則不會在這裡建立configstringnoMicroEdition-Configuration的值,寫到mf文件,默認是CLDC-1.0或應用wtk.cldc.versionprofilestringnoMicroEdition-Profile的值,寫到mf文件,默認MIDP-1.0或應用wtk.midp.versionautoversionbooleannoMIDlet-Version是否主動增加preverifybooleanno預校驗cldcbooleanno假如為false,"-cldc"在預校驗中不通過,默認truenonativebooleanno nofloatbooleanno nofinalizebooleanno obfuscatebooleanno為true將混雜JARkeepmanifestorderbooleanno bootclasspathpathno classpathpathno libclasspathpathno一些外部lib;可以應用ant的FileSet/ZipFileSet/ZipGroupFileSet嵌套元素classpathrefstringno在其它處所指定classpath的參數bootclasspathrefstringno在其它處所指定bootclasspath的參數libclasspathrefstringno在其它處所指定libclasspath的參數ifstringno unlessstringno verbosebooleanno答應為任務輸出設置verbosity(冗長)
混雜時的一個嵌套元素<preserve>參數類型必需闡明classstringyes指定一個class在混雜的時候不需要作混雜/最優化處理ifstringno unlessstringno
預處理
參數類型必需闡明srcfilefile其中一個包含未預校驗過的classes文件夾jarfilefile未預校驗過的JAR文件destdirfileyes,假如應用"srcdir"放預校驗後classes的目標目錄tojarfilefileno,不過可以跟"jarfile"組合預校驗後的JAR文件,假如沒有指定將籠罩源JAR文件jadfilefileno和JAR文件關聯的JADbootclasspathpathnomidpapi.zipclasspathpathno額外的libs,不過不是JAR的一部分,例如諾基亞UI.zipclasspathrefstringno bootclasspathrefstringno cldcbooleanno nonativebooleanno nofloatbooleanno nofinalizebooleanno ifstringno unlessstringno
混雜
參數類型必需闡明jarfilefileyes未混雜的JAR文件jadfilefileno關聯的JAD文件tojarfilefileno混雜後的輸出JAR文件,默認籠罩源JAR文件bootclasspathpathnomidpapiclasspathpathno額外的libclasspathrefstringno bootclasspathrefstringno obfuscatorstringno選擇"proguard"還是"retroguard"ifstringno unlessstringno verbosebooleanno
嵌套元素: <preserve>參數類型必需闡明classstringyes一個既不混雜也不刪除的class的全名(包含包名),假如是proguard就不用指定了ifstringno elsestringno
嵌套元素: <argument>參數類型
必需闡明valuestringyes指定在混雜器通過的argumentifstringno unlessstringno