最近想自己做個(gè)可以設(shè)置各個(gè)swf的編譯參數(shù),更好地控制swf生成,因此首先要了解mxmlc的命令用法:
Mxmlc參數(shù)選項(xiàng) |
描述 |
accessible=true|false |
缺省值為false,表示是否具有訪問(wèn)性特征。 |
actionscript-file-encoding string |
設(shè)置As文件的編碼方式。actionscript-file-encoding=Shift_JIS
|
advanced |
列表顯示幫助高級(jí)選項(xiàng)mxmlc -help advanced |
allow-source-path-overlap=true|false |
檢查一個(gè)源文件夾是否是另外一個(gè)源文件夾得子文件夾,這樣讓包名比較明確。 |
as3=true|false |
是否用As3的對(duì)象模型,缺省為true。 |
benchmark=true|false |
在標(biāo)準(zhǔn)輸出打印詳細(xì)的編譯時(shí)間,默認(rèn)為true |
context-root context-path |
設(shè)置{context.root}占位符的值,一般用于channel的定義,缺省為null |
contributor name |
在目標(biāo)的swf文件中設(shè)置元數(shù)據(jù)。 |
creator name |
同上 |
date text |
同上 |
debug=true|false |
生成調(diào)試的swf文件,這個(gè)文件包括所有源文件的行數(shù)和文件名,當(dāng)發(fā)生runtime錯(cuò)誤時(shí),這個(gè)錯(cuò)誤跟蹤將會(huì)顯示錯(cuò)誤的文件以及行號(hào)。缺省為false |
debug-password string |
用flash IDE時(shí),使用遠(yuǎn)程會(huì)話調(diào)試密碼。 |
default-frame-rate int |
設(shè)置swf的幀率,默認(rèn)24 |
default-script-limits max-recursion-depth max-execution-time |
定義Swf的代碼執(zhí)行限制, max-recursion-depth指定flash player能夠調(diào)用堆棧的最大深度。缺省值為1000。max-execution-time指定在flash player給定AS事件處理器掛起得最大等待時(shí)間,默認(rèn)為60秒。 |
default-size width height |
定義Swf的尺寸,像素點(diǎn)為單位 |
defaults-css-files filename [, ...] |
和每個(gè)Swc里面的defaults.css文件的作用一樣。不同的是,不用每次改變后都打包成swc文件。Css文件以這種方式包含在輸出里面比在swc里面有更好的處理性能。[高級(jí)處理] |
defaults-css-url string |
定義defaults-css-url |
define=NAMESPACE::variable,value |
定義一個(gè)全局常量,這個(gè)值在編譯時(shí)期被計(jì)算,并作為常量保存在app,一個(gè)通常的用法是設(shè)置一個(gè)內(nèi)聯(lián)常量,在應(yīng)用中根據(jù)常量判斷是否包含代碼塊,最常用的是-define=CONFIG::debugging,true具體的代碼中可以如下做:CONFIG::debugging {}. |
description text |
設(shè)定元數(shù)據(jù)。 |
dump-config filename |
輸出flex-config.xml編譯選項(xiàng)mxmlc -dump-config myapp-config.xml |
es=true|false |
編譯器是否適用ECMAScript v3的原型對(duì)象模型來(lái)允許動(dòng)態(tài)重載原型屬性。在原型對(duì)象模型里面,內(nèi)置的功能可以作為原型對(duì)象的動(dòng)態(tài)屬性來(lái)實(shí)現(xiàn)。默認(rèn)值為false。用ECMAScript v3的原型對(duì)象模型,在應(yīng)用中可以不定義屬性或者功能的類(lèi)型。如果設(shè)置es為true,則必須設(shè)置Strict compiler option為false,否則,編譯器會(huì)報(bào)錯(cuò)。如果設(shè)置es為true,則必須設(shè)置as3編譯選項(xiàng)為false |
externs class_name [...] |
從鏈接中排除指定的類(lèi),這個(gè)選項(xiàng)提供編譯時(shí)期對(duì)動(dòng)態(tài)鏈接外部參考進(jìn)行檢查。 |
external-library-path path-element [...] |
指定一系列的swc文件或文件夾來(lái)作為Rsl的外部鏈接。可以使用+=增加新的swc文件 |
fonts.advanced-anti-aliasing=true|false |
設(shè)置在渲染字體的時(shí)候嵌入字體是否用先進(jìn)的anti-aliasing。默認(rèn)值為false。 |
fonts.languages.language-range lang range |
這頂某個(gè)語(yǔ)言的Unicode settings的范圍。 |
fonts.local-fonts-snapshot path_to_file |
設(shè)置本地字體快照文件的路徑。這個(gè)文件包含系統(tǒng)字體文件。 |
fonts.managers manager-class [...] |
定義字體管理器,默認(rèn)為flash.fonts.JREFontManager也可以使用flash.fonts.BatikFontManager。 |
fonts.max-cached-fonts string |
設(shè)置服務(wù)器緩存的字體的最大數(shù)目。 |
fonts.max-glyphs-per-face string |
設(shè)置每種字體face在服務(wù)器緩存的character glyph-outlines的最大數(shù)目。 |
frames.frame label class_name [...] |
用一系列類(lèi)名稱(chēng)來(lái)指定swf文件的幀標(biāo)簽。 |
generate-frame-loader=true|false |
是否生成IFlexBootstrap-derived的裝載類(lèi)。 |
headless-server=true|false |
設(shè)置編譯器的headless. |
help [list [advanced]] |
打印幫助信息 |
include-libraries library [...] |
鏈接swc文件里面的所有的類(lèi),不管是否已經(jīng)使用。相對(duì)這個(gè)選項(xiàng),library-path選項(xiàng)只是包含使用過(guò)的類(lèi)。所以該選項(xiàng)一般用來(lái)指定資源綁定。 |
include-resource-bundles bundle [...] |
指定資源綁定用來(lái)鏈接到資源模塊。所有的資源綁定必須在源路徑下。 |
includes class [...] |
鏈接一個(gè)或多個(gè)類(lèi),無(wú)論這些類(lèi)是否被參考。 |
incremental=true|false |
設(shè)置是否增量編譯. |
isolate-styles=true|false |
指定每個(gè)模塊單獨(dú)賦予樣式。默認(rèn)值為true |
keep-as3-metadata=class_name [...] |
指定定制的元數(shù)據(jù)。缺省情況下,編譯器會(huì)使用Bindable,Managed,ChangeEvent,NonCommittingChangeEvent,Transient元數(shù)據(jù)。如果希望保留缺省的元數(shù)據(jù)。用+=進(jìn)行增加定制的元數(shù)據(jù)。 |
keep-all-type-selectors=true|false |
指定編譯器是否保留一個(gè)swf文件中的所有樣式表的類(lèi)型選擇器,即使有些類(lèi)型沒(méi)有使用。一般在模塊應(yīng)用中,主應(yīng)用文件包含比較全的css定義,那么被裝在的模塊swf能夠訪問(wèn)到主應(yīng)用的css。 |
keep-generated-actionscript=true|false |
定義是否保留生成的as類(lèi)文件。生成的類(lèi)文件包括stubs和編譯器生成的類(lèi)。一般生成的文件放在generated文件夾里面。缺省的生成文件名為filename-generated.as和filename-interface.as. |
language code |
設(shè)置元數(shù)據(jù)。 |
library-path path-element [...] |
鏈接swc里面被參考或者使用的類(lèi)到目標(biāo)文件。該參數(shù)可以指定一個(gè)文件夾或者多個(gè)swc文件。缺省的值包括libs和libs/player下所有的swc。在配置文件中,可以設(shè)置library-path的append屬性為true表示增加。 |
license product_name license_key |
定義lincense key。 |
link-report filename |
打印鏈接信息到特定的輸出文件。Xml文件中包含<def>,<pre>,<ext>等標(biāo)簽。命令行輸出的格式文件可以做為load-externs選項(xiàng)的輸入。 |
load-config filename |
指定定義編譯選項(xiàng)的配置文件,在命令行里面書(shū)寫(xiě)的參數(shù)將會(huì)覆蓋配置文件中的設(shè)置。配置文件中的相對(duì)路徑都是指相對(duì)配置文件本身的路徑。可以通過(guò)+=增加多個(gè)配置文件。 |
load-externs filename [...] |
指定包含<def>, <pre>, and <ext>xml文件,將在編輯成swf文件時(shí),從鏈接中排除指定的內(nèi)容。 |
locale locale[,...] |
指定編譯進(jìn)swf的一個(gè)或多個(gè)locale。 |
localized-description text lang |
設(shè)置元數(shù)據(jù)。 |
localized-title text lang |
同上。 |
mxml.compatibility-version=version |
指定編譯兼容版本。目前支持4.0和3.0缺省值為當(dāng)前編譯器的版本。 |
mxml.minimum-supported-version=version_number |
指定sdk的最小版本號(hào)。典型用于swc文件的生成。 |
mxml.qualified-type-selectors=true|false |
Css的類(lèi)型選擇器是否應(yīng)該有個(gè)全稱(chēng)的命名空間。默認(rèn)值為true。 |
namespaces.namespace uri manifest |
指定mxml文件的命名空間。指定uri和manifest的路徑。 |
optimize=true|false |
是否采用As3優(yōu)化器。這個(gè)優(yōu)化器能夠通過(guò)優(yōu)化字節(jié)碼來(lái)減小文件尺寸,提高性能。默認(rèn)為true。 |
omit-trace-statements=false|true |
設(shè)置是否使trace語(yǔ)句將信息寫(xiě)到flashlog.txt文件 |
output filename |
指定輸出文件。 |
publisher name |
指定元數(shù)據(jù)。 |
raw-metadata XML_string |
定義raw元數(shù)據(jù)。比如contributor, creator, date, and description |
resource-bundle-list filename |
打印資源綁定列表到指定的文件。你能用這個(gè)結(jié)果文件作為include-resource-bundles選項(xiàng)的輸入. |
runtime-shared-libraries rsl-url [...] |
指定運(yùn)行共享庫(kù)Rsl的列表,資源列表的文件(swf)可以取相對(duì)于主應(yīng)用的路徑的相對(duì)路徑。 |
runtime-shared-library-path=path-element,rsl-url[,policy-file-url,failover-url,...] |
指定Rsl位置。path-element參數(shù)是swc文件的位置rsl-url參數(shù)是rsl的uri,編譯器將不會(huì)驗(yàn)證rsl是否存在。policy-file-url是crossdomain.xml的文件位置,crossdomain.xml授予從服務(wù)器上讀取rsl的權(quán)限。 |
services filename |
指定services-config.xml文件的位置。 |
show-actionscript-warnings=true|false |
是否顯示as警告。默認(rèn)為true |
show-binding-warnings=true|false |
是否顯示綁定警告。默認(rèn)為true |
show-invalid-css-property-warnings=true|false |
是否顯示css中不正確的組件的樣式定義,比如,該組件沒(méi)有該樣式屬性。. |
show-shadowed-device-font-warnings=true|false |
當(dāng)用family name 嵌入和操作系統(tǒng)字體名相同的字體時(shí),編譯器會(huì)警告你shadowing系統(tǒng)字體。 |
show-unused-type-selector-warnings=true|false |
當(dāng)出現(xiàn)未使用的css類(lèi)型選擇器,編譯器是否會(huì)發(fā)出警告。 |
source-path path-element [...] |
添加目錄或者文件到源路徑。編譯器將會(huì)搜索整個(gè)文件夾樹(shù)下的mxml,as,css源文件,并將被參考或被使用的編譯到目標(biāo)文件。能夠使用通配符。 源路徑也作為include-classes和include-resource-bundles選項(xiàng)的輸入。 如果源路徑為空,則目標(biāo)文件的路徑作為源路徑。 如果源路徑不為空,而且目標(biāo)路徑是不是某個(gè)源路徑的子文件夾,則目標(biāo)路徑也增加為源路徑 |
static-link-runtime-shared-libraries=true|false |
決定庫(kù)是采用靜態(tài)方式還是動(dòng)態(tài)鏈接。如果設(shè)置true。那么將忽略rsl指定的選項(xiàng)。缺省為true。 |
strict=true|false |
打印未定義的屬性或者功能調(diào)用。默認(rèn)為true. |
target-player=player_version |
指定目標(biāo)文件需要的flash player的版本。 player_version格式為:主要版本.小版本.修訂版。 |
theme filename [...] |
指定主題文件列表。 |
title text |
設(shè)置元數(shù)據(jù)。 |
use-network=true|false |
是否使用網(wǎng)絡(luò)服務(wù),如果不適用的話,則應(yīng)用可以訪問(wèn)本地文件系統(tǒng),比如用XML.load方法裝載文件。 |
use-resource-bundle-metadata=true|false |
指定是否能用資源綁定。[ResourceBundle] |
verbose-stacktraces=true|false |
指定當(dāng)運(yùn)行時(shí)發(fā)生錯(cuò)誤時(shí),是否生成源代碼(包括行號(hào)),該選項(xiàng)設(shè)置為true是必須同時(shí)設(shè)定debug=true |
verify-digests=true|false |
指定應(yīng)用是否檢測(cè)rsl文件的digest。 |
version |
返回編譯器版本號(hào)。 |
warn-warning_type=true|false |
. |
warnings=true|false |
是否能夠顯示警告 |
另外可以手工指定編譯swf的java_home,不依賴(lài)操作系統(tǒng)的變量定義,修改sdk目錄里面的jvm.config文件,修改內(nèi)容:
java.home=C:/Java/jre
注意:是JRE文件夾目錄,而不是JDK目錄。確保其中的jre文件夾下的bin目錄中要有java.dll文件。