您可以使用命令列 MXML 編譯器 (amxmlc) 來編譯 AIR 應用程式的 Adobe® ActionScript® 3.0 和 MXML 資源 (您不需要編譯 HTML 類型應用程式。若要在 Flash Professional 編譯 SWF,您只要將影片發佈至 SWF 檔即可)。
這個編譯器會載入 air-config.xml 設定檔,指定一般編譯 AIR 應用程式所需的 AIR 和 Flex 元件庫。您也可以使用本機的專案層級設定檔,覆寫全域設定的選項或新增其它選項。一般而言,建立本機設定檔最簡單的方式,就是編輯一份全域版本的副本。您可以搭配
-load-config
選項,載入本機檔案:
如果您為本機設定檔使用特殊的命名慣例,amxmlc 編譯器便會自動載入該本機檔案。舉例而言,如果主要 MXML 檔案為
RunningMan.mxml
,則請將本機設定檔命名為
RunningMan-config.xml
。現在,若要編譯應用程式,您只需輸入:
amxmlc 範例
在下列範例會示範 amxmlc 編譯器的用法 (僅需要編譯應用程式的 ActionScript 和 MXML 資源)。
編譯 AIR MXML 檔案:
amxmlc myApp.mxml
編譯及設定輸出名稱:
amxmlc –output anApp.swf -- myApp.mxml
編譯 AIR ActionScript 檔案:
amxmlc myApp.as
指定編譯器設定檔:
amxmlc –load-config config.xml -- myApp.mxml
從其它設定檔新增額外選項:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
在命令列新增元件庫 (除了已經在設定檔中的元件庫以外):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
編譯 AIR MXML 檔案而不使用設定檔 (Win):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^
[AIR SDK]/frameworks/libs/air/airframework.swc, ^
-library-path [Flex SDK]/frameworks/libs/framework.swc ^
-- myApp.mxml
編譯 AIR MXML 檔案而不使用設定檔 (Mac OS X 或 Linux):
mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \
[AIR SDK]/frameworks/libs/air/airframework.swc, \
-library-path [Flex 3 SDK]/frameworks/libs/framework.swc \
-- myApp.mxml
編譯 AIR MXML 檔案以使用執行階段共享元件庫:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
編譯 AIR MXML 檔案以使用 ANE (請務必針對 ANE 使用
‑external‑library‑path
):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
透過 Java 進行編譯 (其中類別路徑設定為包含
mxmlc.jar
):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
flexlib 選項可用於識別 Flex SDK 架構目錄的位置,以供編譯器找到 flex_config.xml 檔案。
透過 Java 進行編譯 (不設定類別路徑):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
使用 Apache Ant 來叫用編譯器 (範例中使用 Java 工作來執行 mxmlc.jar):
<property name="SDK_HOME" value="C:/Flex46SDK"/>
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/>
<property name="DEBUG" value="true"/>
<target name="compile">
<java jar="${MXMLC.JAR}" fork="true" failonerror="true">
<arg value="-debug=${DEBUG}"/>
<arg value="+flexlib=${SDK_HOME}/frameworks"/>
<arg value="+configname=air"/>
<arg value="-file-specs=${MAIN_SOURCE_FILE}"/>
</java>
</target>