ActionScript-kompilerare

Innan ActionScript- och MXML-kod kan inkluderas i ett AIR-program måste den kompileras. Om du använder en integrerad utvecklingsmiljö, t.ex. Adobe Flash Builder eller Adobe Flash Professional, hanteras kompileringen i bakgrunden. Men du kan även anropa ActionScript-kompilerare från kommandoraden för att skapa SWF-filer om du inte använder en integrerad utvecklingsmiljö eller om du använder ett byggskript.

Om AIR-kommandoradsverktygen i Flex SDK

Varje kommandoradsverktyg som du använder för att skapa ett Adobe AIR-program anropar motsvarande verktyg som används för att skapa program:

  • amxmlc anropar mxmlc för att kompilera programklasser

  • acompc anropar compc för att kompilera biblioteks- och komponentklasser

  • aasdoc anropar asdoc för att generera dokumentationsfiler från källkodskommentarer

Den enda skillnaden mellan Flex- och AIR-versionerna av verktygen är att AIR-versionerna läser in konfigurationsalternativen från filen air-config.xml i stället för flex-config.xml.

Flex SDK-verktygen och deras kommnadoradsalternativ beskrivs till fullo i Flex-dokumentationen . Flex SDK-verktygen beskrivs kortfattat här för att hjälpa dig att komma igång och för att visa skillnaderna mellan att bygga Flex-program och AIR-program.

Kompilatorinställningar

Du kan vanligtvis ange kompileringsalternativ både på kommandoraden och med en eller flera konfigurationsfiler. Den globala Flex SDK konfigurationsfilen innehåller standardvärden som används när kompilatorerna körs. Du kan redigera filen så att den passar din utvecklingsmiljö. Det finns två globala Flex konfigurationsfiler i katalogen frameworks i Flex SDK-installationen. Filen air-config.xml används när du kör kompilatorn amxmlc. Filen konfigurerar kompilatorn för AIR genom att inkludera AIR-biblioteken. Filen flex-config.xml används när du kör mxmlc.

Konfigurationens standardvärden lämpliga för att upptäcka hur Flex och AIR fungerar, men när du startar ett stort projekt bör du kontrollera de tillgängliga alternativen i detalj. Du kan ange projektspecifika värden för kompilatoralternativ i en lokal konfigurationsfil som har prioritet över de globala värdena för ett visst projekt.

Obs! Inga kompileringsalternativ används speciellt för AIR-program men du måste skapa en referens till AIR-biblioteken när ett AIR-program kompileras. En referens till dessa bibliotek skapas i vanliga fall i en konfigurationsfil på projektnivå, i en fil för ett konstruktionsverktyg som Ant eller direkt på kommandoraden.

Kompilera MXML- och ActionScript-källfiler för AIR

Du kan kompilera Adobe® ActionScript® 3.0- och MXML-resurserna i ditt AIR-program med kommandoradskompilatorn för MXML (amxmlc). (Du behöver inte kompilera HTML-baserade program. Om du vill kompilera en SWF-film i Flash Professional behöver du enbart publicera filmen som en SWF-fil.)

Det grundläggande kommandoradsmönstret för att använda amxmlc är:

amxmlc [compiler options] -- MyAIRApp.mxml

där [kompilatoralternativ] anger vilka kommandoradsalternativ som används för att kompilera AIR-programmet.

Kommandot amxmlc anropar den förvalda mxmlc-kompilatorn i Flex med en extra parameter, +configname=air . Den här parametern anger för kompilatorn att använda filen air-config.xml i stället för filen flex-config.xml. Annars använder du amxmlc på samma sätt som mxmlc.

Kompilatorn läser in konfigurationsfilen air-config.xml som anger vilka AIR- och Flex-bibliotek som vanligtvis krävs för att kompilera ett AIR-program. Du kan också läsa in en lokal konfigurationsfil på projektnivå om du vill åsidosätta eller tillföra tilläggsalternativ i den globala konfigurationen. Det enklaste sättet att skapa en lokal konfigurationsfil brukar vara att redigera en kopia av den globala versionen. Du kan läsa in den lokala filen med alternativet -load-config :

-load-config=project-config.xml Åsidosätter globala alternativ.

-load-config+=project-config.xml Lägger till flera värden i de globala alternativ som kan använda flera värden, till exempel alternativet -library-path . Globala alternativ som bara kan använda ett värde åsidosätts.

Om du använder en särskild namngivningsregel för den lokala konfigurationsfilen, läser amxmlc-kompilatorn in den lokala filen automatiskt. Om till exempel huvud-MXML-filen är RunningMan.mxml ska du namnge den lokala konfigurationsfilen så här: RunningMan-config.xml . För att kompilera programmet behöver du nu bara skriva:

amxmlc RunningMan.mxml

RunningMan-config.xml läses in automatiskt eftersom filnamnet matchar den kompilerade MXML-filen.

amxmlc, exempel

I följande exempel visas hur du använder amxmlc-kompilatorn. (Det är bara ActionScript- och MXML-resurserna i programmet som måste kompileras.)

Kompilera en AIR MXML-fil:

amxmlc myApp.mxml

Kompilera och ange utdatanamn:

amxmlc –output anApp.swf -- myApp.mxml

Kompilera en AIR ActionScript-fil:

amxmlc myApp.as

Ange kompilatorns konfigurationsfil:

amxmlc –load-config config.xml -- myApp.mxml

Lägga till fler alternativ från en annan konfigurationsfil:

amxmlc –load-config+=moreConfig.xml -- myApp.mxml

Lägga till bibliotek på kommandoraden (förutom biblioteken som redan finns i konfigurationsfilen):

amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc  -- myApp.mxml

Kompilera en AIR MXML-fil utan att använda en konfigurationsfil (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

Kompilera en AIR MXML-fil utan att använda en konfigurationsfil (Mac OS X eller 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

Kompilera en AIR MXML-fil till att använda ett bibliotek som delas under körning:

amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml

Kompilera en AIR MXML-fil så att den använder ett ANE-tillägg (se till att använda ‑external‑library‑path för ANE-tillägget):

amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml

Kompilera från Java (med klassökvägen inställd på att inkludera mxmlc.jar ):

java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

Alternativet flexlib identifierar var Flex SDK-ramverkskatalogen finns, så att kompilatorn kan hitta filen flex_config.xml.

Kompilera från Java (utan att klassökvägen har ställts in):

java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

Så här anropas kompilatorn med Apache Ant (i exemplet används en Java-aktivitet för att köra 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>

Kompilera en AIR-komponent eller ett kodbibliotek (Flex)

Använd komponentkompilatorn, acompc, när du vill kompilera AIR-bibliotek och oberoende komponenter. Komponentkompilatorn acompc fungerar som amxmlc-kompilatorn, men med följande undantag:

  • Du måste ange vilka klasser i kodbasen som ska tas med i biblioteket eller komponenten.

  • acompc söker inte automatiskt efter en lokal konfigurationsfil. Om du vill använda projektkonfigurationsfilen måste du använda alternativet –load-config.

Kommandot acompc anropar den förvalda Flex-komponentkompilatorn compc, men läser in dess konfigurationsalternativ från filen air-config.xml i stället för filen flex-config.xml .

Komponentkompilatorns konfigurationsfil

Använd en lokal konfigurationsfil så att du inte behöver skriva (och eventuellt skriva fel) källsökvägen och klassnamnet på kommandoraden. Lägg till alternativet -load-config på acompc-kommandoraden om du vill läsa in den lokala konfigurationsfilen.

I följande exempel visas en konfiguration som bygger ett bibliotek med två klasser, ParticleManager och Particle, där båda finns i paketet: com.adobe.samples.particles . Klassfilerna finns i mappen 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>

Du kompilerar biblioteket med hjälp av konfigurationsfilen med namnet ParticleLib-config.xml genom att skriva:

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

Du kör samma kommando helt på kommandoraden genom att skriva:

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

(Skriv hela kommandot på raden, eller använd fortsättningstecknet för kommandoskalet.)

acompc, exempel

I dessa exempel förutsätts det att du använder en konfigurationsfil med namnet myLib-config.xml .

Kompilera en AIR-komponent eller ett -bibliotek:

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

Kompilera ett bibliotek som delas under körning:

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

(Mappen lib måste finnas och vara tom innan du kör kommandot.)