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