Compiladores ActionScript

Antes que o código MXML e ActionScript possa ser incluído em um aplicativo do AIR, ele deve ser compilado. Se você usar um IDE (ambiente de desenvolvimento integrado), como Adobe Flash Builder ou Adobe Flash Professional, o IDE manipula a compilação nos bastidores. No entanto, você também pode invocar os compiladores ActionScript na linha de comando para criar arquivos SWF quando não estiver usando um IDE ou quando usar um script de construção.

Sobre as ferramentas de linha de comando do AIR no Flex SDK

Cada uma das ferramentas de linha de comando que você usar para criar um aplicativo Adobe AIR chama a ferramenta correspondente usada para criar aplicativos

  • amxmlc chama mxmlc para compilar classes de aplicativos

  • acompc chama compc para compilar bibliotecas e classes de componentes

  • aasdoc chama asdoc para gerar arquivos de documentação a partir dos comentários do código-fonte

A única diferença entre as versões Flex e AIR os utilitários é que as versões AIR carregam as opções de configuração do arquivo air-config.xml, em vez do arquivo flex-config.xml.

As ferramentas Flex SDK e as suas opções de linha de comando são descritas em detalhes na Documentação do Flex . As ferramentas Flex SDK são descritas aqui em nível básico para ajudá-lo a iniciar e para apontar as diferenças entre criar aplicativos Flex e aplicativos AIR.

Configuração do compilador

Geralmente você deve especificar as opções de compilação tanto na linha de comando quanto com um ou mais arquivos de configuração. O arquivo de configuração GlobalFlex SDK contém valores padrão que são usados sempre que os compiladores estão executando. Você pode editar este arquivo para que se adapte ao seu ambiente de desenvolvimento. Existem dois arquivos de configuração global do Flex, situados no diretório da estrutura da sua instalação do Flex SDK. O arquivo air-config.xml é usado ao executar o compilador amxmlc. Este arquivo configura o compilador do AIR incluindo bibliotecas do AIR. O arquivo flex-config.xml é usado ao executar mxmlc.

Os valores de configuração padrão são adequados para descobrir como o Flex e o AIR funcionam, mas quando você embarcar em um projeto de larga escala examine as opções disponíveis mais atentamente. Você pode fornecer valores específicos ao projeto para as opções do compilador m um arquivo de configuração local que tem precedência sobre os valores globais para um determinado projeto.

Nota: Nenhuma opção de compilação é usada para aplicativos AIR, mas você deve consultar as biblioteca do AIR ao compilar um aplicativo do AIR. Geralmente, estas bibliotecas referem-se a um arquivo de configuração em nível de projeto, em um arquivo para uma ferramenta de criação como Ant ou diretamente na linha de comando.

Compilação de arquivos de origem do MXML e ActionScript para AIR

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>

Compilação de um componente ou de uma biblioteca de códigos do AIR (Flex)

Use o compilador de componentes, acompc, para compilar bibliotecas do AIR e componentes independentes. O compilador de componentes acompc se comporta como o compilador amxmlc, com as seguintes exceções:

  • Você deve especificar que classes dentro da base do código para incluir na biblioteca ou no componente.

  • O acompc não procura um arquivo de configuração local automaticamente. Para usar um arquivo de configuração de projeto, você deve usar a opção –load-config.

O comando acompc invoca o compilador de componentes compc padrão do Flex, mas carrega suas opções de configuração do arquivo air-config.xml em vez do arquivo flex-config.xml .

Arquivo de configuração do compilador de componentes

Use um arquivo de configuração local para evitar digitar (e talvez digitar incorretamente) o caminho de origem e os nomes de classes na linha de comando. Adicione a opção -load-config à linha de comando do acompc para carregar o arquivo de configuração local.

O exemplo a seguir ilustra uma configuração para criar uma biblioteca com duas classes, ParticleManager e Particle, ambas no pacote: com.adobe.samples.particles . Os arquivos de classe são localizados na pasta 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>

Para compilar a biblioteca usando o arquivo de configuração, chamado ParticleLib-config.xml , digite:

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

Para executar o mesmo comando inteiramente na linha de comando, digite:

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

(Digite o comando inteiro em uma linha ou use o caractere de continuação de linha para seu shell de comando.)

Exemplos de acompc

Esses exemplos supõem que você está usando um arquivo de configuração chamado myLib-config.xml .

Compilar um componente ou uma biblioteca do AIR:

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

Compilar uma biblioteca compartilhada de runtime:

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

(Observe, a pasta lib deve existir e estar vazia antes de executar o comando.)