Puede compilar los componentes Adobe® ActionScript® 3.0 y MXML de su aplicación de AIR con el compilador de la línea de comandos MXML (amxmlc). (No es necesario compilar aplicaciones basadas en HTML. Para compilar un archivo SWF en Flash Professional, simplemente publique la película en un archivo SWF.)
El patrón de línea de comandos básico para utilizar amxmlc es:
amxmlc [compiler options] -- MyAIRApp.mxml
siendo
[compiler options]
las opciones de la línea de comandos que se utilizan para compilar la aplicación de AIR.
El comando amxmlc invoca al compilador de Flex estándar mxmlc con un parámetro adicional,
+configname=air
. Este parámetro indica al compilador que utilice el archivo air-config.xml en lugar de flex-config.xml. Por lo demás, el uso de amxmlc es idéntico al uso de mxmlc.
El compilador carga el archivo de configuración air-config.xml especificando las bibliotecas de AIR y Flex que se suelen necesitar al compilar una aplicación de AIR. También se puede utilizar un archivo de configuración local a nivel de proyecto para suprimir o añadir opciones adicionales a la configuración global. En general la forma más fácil de crear un archivo de configuración local es mediante modificación de una copia de la versión global. El archivo local puede cargarse con la opción
-load-config
:
-load-config=project-config.xml
Suprime las opciones globales.
-load-config+=project-config.xml
Añade valores adicionales a las opciones globales que aceptan más de un valor, como la opción
-library-path
. Las opciones globales que tienen un solo valor se suprimen.
Si se utiliza una convención particular para el nombre del archivo de configuración local, el compilador amxmlc carga el archivo local automáticamente. Por ejemplo, si el archivo MXML principal es
RunningMan.mxml
, el nombre del archivo de configuración local es:
RunningMan-config.xml
. Para compilar la aplicación solo hace falta escribir:
amxmlc RunningMan.mxml
RunningMan-config.xml
se carga automáticamente, dado que su nombre de archivo coincide con el del archivo MXML compilado.
Ejemplos con amxmlc
Los siguientes ejemplos demuestran el uso del compilador amxmlc. (Solo se necesitan compilar los componentes ActionScript y MXML de la aplicación).
Compile un archivo MXML de AIR:
amxmlc myApp.mxml
Compile y defina el nombre de salida:
amxmlc –output anApp.swf -- myApp.mxml
Compile un archivo ActionScript de AIR:
amxmlc myApp.as
Especifique un archivo de configuración para el compilador:
amxmlc –load-config config.xml -- myApp.mxml
Añada opciones adicionales de otro archivo de configuración:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Añada bibliotecas en la línea de comandos (además de las bibliotecas que ya figuran en el archivo de configuración):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Compile un archivo MXML de AIR sin usar archivo de configuración (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
Compile un archivo MXML de AIR sin usar archivo de configuración (Mac OS X o 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
Compile un archivo MXML de AIR para utilizar una biblioteca compartida con el motor de ejecución:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Compile un archivo MXML de AIR para usar un archivo ANE (asegúrese de utilizar
-external-library-path
para el archivo ANE):
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Compilando desde Java (con la ruta de clase definida para que incluya
mxmlc.jar
):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
La opción flexlib identifica la ubicación del directorio frameworks del SDK de Flex, lo cual permite al compilador localizar el archivo flex_config.xml.
Compilando desde Java (sin ruta de clase definida):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Para invocar el compilador utilizando Apache Ant (en el ejemplo se utiliza una tarea de Java para ejecutar 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>