U kunt de Adobe® ActionScript® 3.0- en MXML-elementen van uw AIR-toepassing compileren met de opdrachtregelcompiler MXML (amxmlc). (Bij toepassingen op HTML-basis is compileren niet nodig. Als u een SWF in Flash Professional wilt compileren, hoeft u alleen de film naar een SWF-bestand te publiceren.)
Het basisopdrachtregelpatroon voor het gebruik van amxmlc is:
amxmlc [compiler options] -- MyAIRApp.mxml
waarbij
[compiler options]
de opdrachtregelopties bepaalt waarmee uw AIR-toepassing wordt gecompileerd.
De opdracht amxmlc roept de standaardcompiler mxmlc van Flex op met een extra parameter,
+configname=air
. Met deze parameter krijgt de compiler de opdracht om het bestand air-config.xml te gebruiken in plaats van het bestand flex-config.xml. Het gebruik van amxmlc is verder identiek aan het gebruik van mxmlc.
De compiler laadt het configuratiebestand air-config.xml waarin de AIR- en Flex-bibliotheken zijn opgegeven die gewoonlijk zijn vereist om een AIR-toepassing te compileren. U kunt ook een lokaal, projectgebonden configuratiebestand gebruiken om opties in de globale configuratie te overschrijven of daaraan toe te voegen. U kunt een lokaal configuratiebestand vaak het eenvoudigst maken door een kopie van het globale bestand te bewerken. U kunt het lokale bestand laden met de optie
-load-config
:
-load-config=project-config.xml
Hiermee overschrijft u globale opties.
-load-config+=project-config.xml
Hiermee voegt u extra waarden toe aan globale opties die meerdere waarden gebruiken, zoals de optie
-library-path
. Globale opties die slechts één waarde gebruiken, worden overschreven.
Als u een speciale naamgevingsconventie gebruikt voor het lokale configuratiebestand, laadt de compiler amxmlc het lokale bestand automatisch. Als het MXML-hoofdbestand bijvoorbeeld
RunningMan.mxml
is, geeft u het lokale configuratiebestand de volgende naam:
RunningMan-config.xml
. U hoeft nu alleen het volgende te typen om de toepassing te compileren:
amxmlc RunningMan.mxml
RunningMan-config.xml
wordt automatisch geladen omdat de bestandsnaam overeenkomt met het gecompileerde MXML-bestand.
amxmlc, voorbeelden
In de volgende voorbeelden ziet u hoe u de compiler amxmlc gebruikt. (Alleen de ActionScript- en MXML-assets van uw toepassing hoeven te worden gecompileerd.)
Een AIR MXML-bestand compileren:
amxmlc myApp.mxml
De uitvoernaam compileren en instellen:
amxmlc –output anApp.swf -- myApp.mxml
Een AIR ActionScript-bestand compileren:
amxmlc myApp.as
Een configuratiebestand voor de compiler opgeven:
amxmlc –load-config config.xml -- myApp.mxml
Extra opties toevoegen uit een ander configuratiebestand:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Bibliotheken toevoegen op de opdrachtregel (naast de bibliotheken die al in het configuratiebestand staan):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Een AIR MXML-bestand compileren zonder een configuratiebestand te gebruiken (Windows):
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
Een AIR MXML-bestand compileren zonder een configuratiebestand te gebruiken (Mac OS X of 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
Een AIR MXML-bestand compileren voor het gebruik van een gedeelde runtimebibliotheek:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Een AIR MXML-bestand compileren voor het gebruik van een ANE (gebruik
‑external‑library‑path
voor ANE):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Compileren vanuit Java (waarbij
mxmlc.jar
is opgenomen in het klassepad):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Met de optie flexlib bepaalt u de locatie van de map frameworks van de SDK van Flex, zodat de compiler het bestand flex_config.xml kan vinden.
Compileren vanuit Java (waarbij het klassepad niet is ingesteld):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
De compiler met Apache Ant aanroepen (in het voorbeeld wordt een Java-taak gebruik om mxmlc.jar uit te voeren):
<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>