Sie können die Adobe® ActionScript® 3.0- und MXML-Bestände für Ihre AIR-Anwendung mit dem Befehlszeilencompiler MXML (amxmlc) kompilieren. (HTML-basierte Anwendungen brauchen nicht kompiliert zu werden. Um eine SWF-Datei in Flash Professional zu kompilieren, veröffentlichen Sie den Film einfach in einer SWF-Datei.)
Das grundlegende Befehlszeilenmuster für die Verwendung von amxmlc lautet:
amxmlc [compiler options] -- MyAIRApp.mxml
wobei
[compiler options]
die Befehlszeilenoptionen angibt, die für die Kompilierung der AIR-Anwendung eingesetzt werden.
Der Befehl „amxmlc“ ruft den Standard-mxmlc-Compiler von Flex mit dem zusätzlichen Parameter
+configname=air
auf. Dieser Parameter weist den Compiler an, anstelle der Datei „air-config.xml“ die Datei „flex-config.xml“ zu verwenden. Für alle anderen Zwecke entspricht „amxmlc“ der Verwendung von „mxmlc“.
Der Compiler lädt die Konfigurationsdatei air-config.xml, welche die gewöhnlich für die Kompilierung einer AIR-Anwendung verwendeten AIR- und Flex-Bibliotheken angibt. Sie können eine lokale Konfigurationsdatei auf Projektebene verwenden, um sich über Optionen für die globale Konfiguration hinwegzusetzen oder neue Optionen hinzuzufügen. In der Regel ist es am einfachsten, für die Erstellung einer lokalen Konfigurationsdatei eine Kopie der globalen Version zu bearbeiten. Sie können die lokale Datei mit der Option
-load-config
laden:
-load-config=project-config.xml
Setzt sich über globale Optionen hinweg.
-load-config+=project-config.xml
Fügt zusätzliche Werte zu den globalen Optionen hinzu, die mehr als einen Wert annehmen können, z. B. die Option
-library-path
. Globale Optionen, die nur einen einzigen Wert annehmen, werden außer Kraft gesetzt.
Wenn Sie bestimmten Benennungskonventionen für die lokale Konfigurationsdatei folgen, lädt der Compiler „amxmlc“ die lokale Datei automatisch. Heißt die Haupt-MXML-Datei beispielsweise
RunningMan.mxml
, dann nennen Sie die lokale Konfigurationsdatei
RunningMan-config.xml
. Um die Anwendung zu kompilieren müssen Sie jetzt nur folgende Eingabe vornehmen:
amxmlc RunningMan.mxml
RunningMan-config.xml
wird automatisch geladen, da der Dateiname dem der kompilierten MXML-Datei entspricht.
amxmlc-Beispiele
In den folgenden Beispielen wird die Verwendung des amxmlc-Compilers verdeutlicht. (Es müssen nur die ActionScript- und MXML-Bestände Ihrer Anwendung kompiliert werden.)
Kompilieren Sie eine AIR-MXML-Datei:
amxmlc myApp.mxml
Kompilieren und setzen Sie den Ausgabenamen:
amxmlc –output anApp.swf -- myApp.mxml
Kompilieren Sie eine AIR ActionScript-Datei:
amxmlc myApp.as
Geben Sie eine Compiler-Konfigurationsdatei an:
amxmlc –load-config config.xml -- myApp.mxml
Fügen Sie zusätzliche Optionen aus einer anderen Konfigurationsdatei ein:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Fügen Sie Bibliotheken auf der Befehlszeile hinzu (zusätzlich zu den bereits in der Konfigurationsdatei enthaltenen Bibliotheken):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Kompilieren Sie eine AIR-MXML-Datei ohne Verwendung einer Konfigurationsdatei (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
Kompilieren Sie eine AIR-MXML-Datei ohne Verwendung einer Konfigurationsdatei (Mac OS X oder 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
Kompilieren Sie eine AIR-MXML-Datei für die Verwendung einer Runtime Shared Library:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Kompilieren Sie eine AIR-MXML-Datei für die Verwendung einer ANE (achten Sie darauf,
‑external‑library‑path
für die ANE zu verwenden):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Kompilierung aus Java (mit einer Klassenpfadeinstellung, die
mxmlc.jar
beinhaltet):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Die Option „flexlib“ gibt den Speicherort des frameworks-Verzeichnis des Flex SDKs an und gibt dem Compiler so die Möglichkeit, die Datei „flex_config.xml“ zu finden.
Kompilierung aus Java (ohne Klassenpfadeinstellung):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Zum Aufrufen des Compilers mit Apache Ant (im Beispiel wird eine Java-Aufgabe verwendet, um „mxmlc.jar“ auszuführen):
<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>