ActionScript-Compiler

Bevor ActionScript- und MXML-Code in einer AIR-Anwendung verwendet werden kann, muss er kompiliert werden. Wenn Sie mit einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) wie zum Beispiel Adobe Flash Builder oder Adobe Flash Professional arbeiten, wird die Kompilierung von der IDE im Verborgenen erledigt. Sie können jedoch auch die ActionScript-Compiler von der Befehlszeile aufrufen, um Ihre SWF-Dateien zu erstellen, falls Sie keine IDE verwenden oder mit einem Build-Skript arbeiten.

Die AIR-Befehlszeilenwerkzeuge im Flex-SDK

Jedes der Befehlszeilenwerkzeuge, die Sie zum Erstellen einer Adobe AIR-Anwendung verwenden, ruft das entsprechende Werkzeug zum Erstellen von Anwendungen auf:

  • amxmlc ruft mxmlc zum Kompilieren von Anwendungsklassen auf

  • acompc ruft compc zum Kompilieren von Bibliotheks- und Komponentenklassen auf

  • aasdoc ruft asdoc auf, um Dokumentationsdateien aus Quellcodekommentaren zu generieren

Der einzige Unterschied zwischen den Flex- und AIR-Versionen der Dienstprogramme liegt darin, dass die AIR-Versionen die Konfigurationsoptionen aus der Datei „air-config.xml“ anstatt aus der Datei „flex-config.xml“ laden.

Die Flex SDK-Tools und ihre Befehlszeilenoptionen sind in der Flex-Dokumentation vollständig beschrieben. In der vorliegenden Dokumentation sind die Grundlagen der Flex SDK-Werkzeuge beschrieben, um Ihnen den Einstieg zu erleichtern und die Unterschiede zwischen dem Erstellen von Flex-Anwendungen und dem Erstellen von AIR-Anwendungen aufzuzeigen.

Compiler-Setup

Normalerweise geben Sie Kompilierungsoptionen sowohl in der Befehlszeile als auch in einer oder mehreren Konfigurationsdateien an. Die globale Flex-SDK-Konfigurationsdatei enthält Standardwerte, die beim Ausführen des Compilers verwendet werden. Sie können diese Datei bearbeiten und an Ihre Entwicklungsumgebung anpassen. Es gibt zwei globale Flex-Konfigurationsdateien im Framework-Verzeichnis der Flex-SDK-Installation. Die Datei „air-config.xml“ wird beim Ausführen des amxmlc-Compilers verwendet. Diese Datei konfiguriert den Compiler für AIR, indem die AIR-Bibliotheken einbezogen werden. Die Datei „flex-config.xml“ wird beim Ausführen von mxmlc verwendet.

Die Standardkonfigurationswerte eignen sich, um einen Einblick in die Funktionsweise von Flex und AIR zu gewinnen. Wenn Sie jedoch ein vollständiges Projekt umsetzen möchten, sollten Sie die verfügbaren Optionen genauer untersuchen. Sie können projektspezifische Werte für die Compileroptionen in einer lokalen Konfigurationsdatei angeben, die Vorrang vor den globalen Werten eines gegebenen Projekts haben.

Hinweis: Es werden keine Kompilierungsoptionen speziell für AIR verwendet, Sie müssen jedoch auf die AIR-Bibliotheken verweisen, wenn Sie eine AIR-Anwendung kompilieren. Normalerweise wird in einer Konfigurationsdatei auf Projektebene, in einer Datei für ein Erstellungswerkzeug wie Ant oder direkt in der Befehlszeile auf diese Bibliotheken verwiesen.

Kompilieren von MXML- und ActionScript-Quelldateien für AIR

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>

Kompilieren einer AIR-Komponenten- oder Codebibliothek (Flex)

Verwenden Sie den Komponenten-Compiler „acompc“, um AIR-Bibliotheken und unabhängige Komponenten zu kompilieren. Abgesehen von folgenden Ausnahmen verhält sich der acompc-Komponenten-Compiler wie ein amxmlc-Compiler:

  • Sie müssen angeben, welche Klassen in der Codebasis in die Bibliothek oder Komponente aufgenommen werden sollen.

  • Die lokale Konfigurationsdatei wird von „acompc“ nicht automatisch gesucht. Um eine Projektkonfigurationsdatei einzusetzen, müssen Sie die Option „-load-config“ verwenden.

Der Befehl „acompc“ ruft den Standardkomponentencompiler „compc“ von Flex auf, lädt die Konfigurationsoptionen jedoch aus der Datei air-config.xml anstelle der Datei flex-config.xml .

Komponentencompiler-Konfigurationsdatei

Verwenden Sie eine lokale Konfigurationsdatei, um die (möglicherweise falsche) Eingabe des Quellpfads und der Klassennamen auf der Befehlszeile zu umgehen. Fügen Sie die Option „-load-config“ zur acompc-Befehlszeile hinzu, um die lokale Konfigurationsdatei zu laden.

Im folgenden Beispiel wird eine Konfiguration für die Erstellung einer Bibliothek mit zwei Klassen, „ParticleManager“ und „Particle“ dargestellt, beide im Paket: com.adobe.samples.particles . Die Klassendateien befinden sich im Ordner source/com/adobe/samples/particles .

<flex-config> 
    <compiler> 
        <source-path> 
            <path-element>source</path-element> 
        </source-path> 
    </compiler> 
    <include-classes> 
        <class>com.adobe.samples.particles.ParticleManager</class> 
        <class>com.adobe.samples.particles.Particle</class> 
    </include-classes> 
</flex-config>

Um die Bibliothek mit der Konfigurationsdatei ParticleLib-config.xml zu kompilieren, geben Sie ein:

acompc -load-config ParticleLib-config.xml -output ParticleLib.swc

Soll der gleiche Befehl vollständig auf der Befehlszeile ausgeführt werden, geben Sie ein:

acompc -source-path source -include-classes com.adobe.samples.particles.Particle  
com.adobe.samples.particles.ParticleManager -output ParticleLib.swc

(Geben Sie die gesamte Befehlszeile auf einer Zeile ein, oder verwenden Sie das Zeilenfortführungszeichen für Ihre Befehls-Shell.)

Beispiele für „acompc“

In diesen Beispielen wird davon ausgegangen, dass Sie eine Konfigurationsdatei mit dem Namen myLib-config.xml verwenden.

Kompilieren Sie eine AIR-Komponente oder -Bibliothek:

acompc -load-config myLib-config.xml -output lib/myLib.swc

Kompilieren Sie eine Runtime Shared Library:

acompc -load-config myLib-config.xml -directory -output lib

(Beachten Sie, dass der Ordner „lib“ vor der Ausführung des Befehls vorhanden und leer sein muss.)