Zasoby Adobe® ActionScript® 3.0 i MXML aplikacji AIR użytkownika można kompilować za pomocą kompilatora MXML (amxmlc) wywoływanego z wiersza poleceń. (Nie ma potrzeby kompilowania aplikacji opartych na kodzie HTML. W celu skompilowania pliku SWF w Flash Professional wystarczy opublikować film do pliku SWF).
Podstawowy wzorzec wiersza poleceń dla kompilatora amxmlc:
amxmlc [compiler options] -- MyAIRApp.mxml
gdzie
[compiler options]
określa opcje wiersza poleceń używane do kompilowania aplikacji AIR.
Polecenie amxmlc zawiera standardowy kompilator Flex mxmlc oraz dodatkowy parametr
+configname=air
. Ten parametr informuje kompilator o konieczności użycia pliku air-config.xml zamiast pliku flex-config.xml. Pod innymi względami stosowanie kompilatora amxmlc przebiega tak samo jak stosowanie kompilatora mxmlc.
Kompilator ładuje plik konfiguracji air-config.xml, określając biblioteki AIR i Flex wymagane do skompilowania aplikacji AIR. Możliwe jest również zastosowanie lokalnego pliku konfiguracji na poziomie projektu w celu zastąpienia opcji lub dodania opcji do konfiguracji globalnej. Zwykle najprostszym sposobem utworzenia pliku konfiguracji lokalnej jest edytowanie kopii wersji globalnej. Plik lokalny można załadować za pomocą opcji
-load-config
:
-load-config=project-config.xml
Zastępuje opcje globalne.
-load-config+=project-config.xml
Dodaje wartości do opcji globalnych, które przyjmują więcej niż jedną wartość, np. opcja
-library-path
. Globalne opcje, które przyjmują tylko jedną wartość, są zastępowane.
Jeśli stosowana jest określona konwencja nazewnictwa dla lokalnego pliku konfiguracji, wówczas kompilator amxmlc automatycznie ładuje plik lokalny. Przykład: jeśli główny plik MXML to
RunningMan.mxml
, wówczas lokalny plik konfiguracji powinien mieć nazwę:
RunningMan-config.xml
. W celu skompilowania aplikacji należy wpisać:
amxmlc RunningMan.mxml
Plik
RunningMan-config.xml
jest ładowany automatycznie, ponieważ nazwa jego pliku jest zgodna z nazwą skompilowanego pliku MXML.
amxmlc, przykłady
Poniższe przykłady prezentują zastosowania kompilatora amxmlc. (Wymagane jest skompilowanie samych zasobów ActionScript i MXML aplikacji).
Kompilacja pliku AIR MXML:
amxmlc myApp.mxml
Kompilacja i ustawianie nazwy wynikowej:
amxmlc –output anApp.swf -- myApp.mxml
Kompilacja pliku AIR ActionScript:
amxmlc myApp.as
Określenie pliku konfiguracji kompilatora:
amxmlc –load-config config.xml -- myApp.mxml
Dodanie opcji z innego pliku konfiguracji:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Dodanie bibliotek w wierszu poleceń (oprócz bibliotek, które znajdują się już w pliku konfiguracji):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Kompilacja pliku AIR MXML bez użycia pliku kompilacji (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
Kompilacja pliku AIR MXML bez użycia pliku kompilacji (Mac OS X lub 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
Kompilacja pliku AIR MXML w celu użycia biblioteki współużytkowanej w środowisku wykonawczym:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Kompilacja pliku AIR MXML tak, aby był używany plik ANE (należy pamiętać o podaniu opcji
‑external‑library‑path
dla pliku ANE):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Kompilacja z Java (ścieżka klasy uwzględnia
mxmlc.jar
):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Opcja flexlib identyfikuje lokalizację katalogu struktur Flex SDK, dzięki czemu kompilator może zlokalizować plik flex_config.xml.
Kompilacja z Java (bez ustawionej ścieżki klasy):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
W celu wywołania kompilatora za pomocą Apache Ant (w przykładzie wykorzystano zadanie Java w celu uruchomienia pliku 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>