Você pode compilar os ativos do Adobe® ActionScript® 3.0 e MXML do aplicativo do AIR com o compilador MXML de linha de comando (amxmlc). (Você não precisa compilar os aplicativos baseados em HTML. Para compilar um SWF no Flash Professional, basta publicar o filme em um arquivo SWF.)
O padrão básico de linha de comando para usar amxmlc é:
amxmlc [compiler options] -- MyAIRApp.mxml
em que
[compiler options]
especifica as opções de linha de comando usadas para compilar o aplicativo do AIR.
O comando amxmlc invoca o compilador mxmlc padrão do Flex com um parâmetro adicional,
+configname=air
. Esse parâmetro instrui o compilador a usar o arquivo air-config.xml em vez do arquivo flex-config.xml. Usar amxmlc é, de outro modo, idêntico a usar mxmlc.
O compilador carrega o arquivo de configuração air-config.xml especificando as bibliotecas do AIR e do Flex normalmente necessárias para compilar um aplicativo do AIR. Você também pode usar um arquivo de configuração de nível de projeto local para substituir ou adicionar opções adicionais à configuração global. Tipicamente, a maneira mais fácil de criar um arquivo de configuração local é editar uma cópia da versão global. Você pode carregar o arquivo local com a opção
-load-config
:
-load-config=project-config.xml
Substitui opções globais.
-load-config+=project-config.xml
Adiciona valores adicionais àquelas opções globais que levam mais de um valor, como a opção
-library-path
. Opções globais que levam apenas um único valor são substituídas.
Se você usar uma convenção de nomenclatura especial para o arquivo de configuração local, o compilador amxmlc carrega o arquivo local automaticamente. Por exemplo, se o arquivo MXML principal é
RunningMan.mxml
, nomeie o arquivo de configuração local:
RunningMan-config.xml
. Agora, para compilar o aplicativo, você apenas precisa digitar:
amxmlc RunningMan.mxml
RunningMan-config.xml
é carregado automaticamente, uma vez que seu nome de arquivo corresponde àquele do arquivo MXML compilado.
exemplos de amxmlc
Os seguintes exemplos demonstram o uso do compilador amxmlc. (Apenas os ativos do ActionScript e MXML do seu aplicativo devem ser compilados.)
Compilar um arquivo MXML do AIR:
amxmlc myApp.mxml
Compilar e definir o nome de saída:
amxmlc –output anApp.swf -- myApp.mxml
Compilar um arquivo ActionScript do AIR:
amxmlc myApp.as
Especificar um arquivo de configuração do compilador:
amxmlc –load-config config.xml -- myApp.mxml
Adicionar opções adicionais de outro arquivo de configuração:
amxmlc –load-config+=moreConfig.xml -- myApp.mxml
Adicionar bibliotecas na linha de comando (além das bibliotecas já no arquivo de configuração):
amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc -- myApp.mxml
Compilar um arquivo MXML do AIR sem usar um arquivo de configuração (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
Compilar um arquivo MXLM do AIR sem usar um arquivo de configuração (Mac OS X ou 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
Compilar um arquivo MXML do AIR para usar uma biblioteca compartilhada de runtime:
amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml
Copie um arquivo AIR MXML para usar um ANE, certifique-se de usar
‑external‑library‑path
para o ANE:
amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml
Compilação de Java (com o caminho de classe definido para incluir
mxmlc.jar
):
java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
A opção flexlib identifica a localização do seu diretório de estruturas do SDK do Flex, permitindo que o compilador localize o arquivo flex_config.xml.
Compilação de Java (sem o caminho de classe definido):
java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml
Para invocar o compilador usando o Apach Ant (o exemplo usa uma tarefa Java para executar 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>