Kompilatory języka ActionScript

Aby można było dołączyć kod ActionScript i MXML do aplikacji AIR, należy go skompilować. W przypadku używania środowiska programistycznego, na przykład oprogramowania Adobe Flash Builder lub Adobe Flash Professional, środowisko przeprowadza kompilację w tle. Można również wywoływać kompilatory języka ActionScript z poziomu wiersza poleceń, aby tworzyć pliki SWF, gdy nie jest używane środowisko programistyczne lub gdy jest używany skrypt kompilacji.

Informacje o narzędziach wiersza poleceń AIR w pakiecie Flex SDK

Każde z narzędzi wiersza poleceń używane do tworzenia aplikacji Adobe AIR wywołuje odpowiednie narzędzia używane do tworzenia aplikacji.

  • amxmlc calls mxmlc — do kompilowania klas aplikacji

  • acompc calls compc — do kompilowania klas bibliotek i składników

  • aasdoc calls asdoc — do generowania plików dokumentacji z komentarzy w kodzie źródłowym

Jedyną różnicą między wersjami Flex i AIR tych programów narzędziowych jest to, że wersje AIR ładują opcje konfiguracji z pliku air-config.xml zamiast z pliku flex-config.xml.

Narzędzia zestawu SDK programu Flex i odpowiednie opcje wiersza poleceń zostały opisane kompleksowo w dokumentacji programu Flex . Narzędzia Flex SDK zostały opisane w niniejszej sekcji na poziomie podstawowym, aby ułatwić rozpoczęcie pracy oraz aby wskazać różnice między tworzeniem aplikacji Flex i budowaniem aplikacji AIR.

Konfiguracja kompilatora

Opcje kompilacji zwykle określa się w wierszu poleceń oraz w jednym lub większej liczbie plików konfiguracyjnych. Globalny plik konfiguracyjny Flex SDK zawiera wartości domyślne, które są używane zawsze po uruchomieniu kompilatorów. Ten plik można edytować w celu dostosowania środowiska programowania. Katalog środowiska instalacji Flex SDK zawiera dwa globalne pliki konfiguracyjne Flex. Plik air-config.xml jest używany po uruchomieniu kompilatora amxmlc. Ten plik konfiguruje kompilatora dla środowiska AIR poprzez dołączanie bibliotek AIR. Plik flex-config.xml jest używany po uruchomieniu mxmlc.

Domyślne wartości konfiguracji są odpowiednie do wykrywania sposobów działania środowisk Flex i AIR, jednak w przypadku prac nad projektem w pełnej skali należy bliżej zapoznać się z dostępnymi opcjami. Do lokalnego pliku konfiguracyjnego można wprowadzić wartości właściwe dla projektu — wówczas te wartości będą miały priorytet wyższy niż wartości globalne.

Uwaga: Dla aplikacji AIR nie są używane żadne konkretne opcje kompilacji, ale podczas kompilowania aplikacji AIR należy tworzyć odwołania do bibliotek AIR. Zwykle odwołania te są tworzone w pliku konfiguracyjnym na poziomie projektu; w pliku dla narzędzia do tworzenia, takiego jak Ant, lub bezpośrednio w wierszu poleceń.

Kompilowanie plików źródłowych MXML i ActionScript dla środowiska AIR

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>

Kompilowanie składnika AIR oraz biblioteki kodu AIR (Flex)

Kompilator składników acompc służy do kompilowania bibliotek AIR i niezależnych składników. Kompilator składnika acompc działa jak kompilator amxmlc z następującymi wyjątkami:

  • Należy określić klasy w kodzie, które będą zawierały bibliotekę lub składnik.

  • acompc nie wyszukuje automatycznie lokalnego pliku konfiguracji. W celu użycia pliku konfiguracji projektu należy użyć opcji –load-config.

Polecenie acompc wywołuje standardowy kompilator Flex compc, ale ładuje jego opcje konfiguracji z pliku air-config.xml zamiast z pliku flex-config.xml .

Plik konfiguracji kompilatora składników

Użycie lokalnego pliku konfiguracji eliminuje potrzebę wpisywania ścieżki źródła oraz nazw klas w wierszu poleceń. W celu załadowania lokalnego pliku konfiguracji należy załadować opcję -load-config do wiersza poleceń acompc.

Poniższy przykład prezentuje konfigurację przeznaczoną do tworzenia biblioteki za pomocą dwóch klas: ParticleManager i Particle — obydwie pochodzą z pakietu: com.adobe.samples.particles . Pliki klas znajdują się w folderze 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>

W celu skompilowania biblioteki za pomocą pliku konfiguracji o nazwie ParticleLib-config.xml należy wpisać:

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

W celu wykonania polecenia w całości z wiersza poleceń należy wpisać:

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

(Całe polecenie należy wpisać do jednego wiersza lub należy użyć znaku kontynuacji wiersza dla powłoki poleceń).

acompc, przykłady

W tych przykładach założono, że używany jest plik konfiguracji o nazwie myLib-config.xml .

Kompilacja biblioteki lub składnika AIR:

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

Kompilacja biblioteki współużytkowanej w środowisku wykonawczym:

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

(Uwaga: folder lib musi istnieć i być pusty przed uruchomieniem polecenia).