AIR Debug Launcher (ADL)

Use o ADL (AIR Debug Launcher) para executar aplicativos com base em SWF e HTML durante o desenvolvimento. Usando o ADL, você pode executar um aplicativo sem compactá-lo e instalá-lo primeiro. Por padrão, o ADL usa um runtime incluído com o SDK, o que significa que você não precisa instalar o runtime separadamente para usar o ADL.

O ADL imprime instruções de rastreamento e erros de runtime para a saída padrão, mas não suporta pontos de interrupção ou outros recursos de depuração. Você pode usar o Flash Debugger (ou um ambiente de desenvolvimento integrado como o Flash Builder) para os problemas complexos de depuração.

Nota: Se suas declarações trace() não forem exibidas no console, verifique se você não especificou ErrorReportingEnable ou TraceOutputFileEnable no arquivo mm.cfg. Para obter mais informações sobre o local específico de plataforma desse arquivo, consulte Edição do arquivo mm.cfg.

O AIR suporta depuração direta, e assim você não precisa da versão de depuração do runtime (como precisaria com o Adobe® Flash® Player). Para proceder à depuração na linha de comando, você pode usar o Flash Debugger e o AIR Debug Launcher (ADL).

O Flash Debugger é distribuído no diretório Flex SDK. As versões nativas, tais como fdb.exe no Windows, estão no subdiretório bin. A versão do Java está no subdiretório lib. O AIR Debug Launcher, adl.exe, está no diretório bin da sua instalação do SDK. (Não existe uma versão separada do Java).

Nota: Você não pode iniciar um aplicativo do AIR diretamente com fdb, porque fdb tenta lançá-lo com o Flash Player. Em vez disso, deixe o aplicativo do AIR se conectar a uma sessão fdb em execução.

Uso do ADL

Para executar um aplicativo com o ADL, use o seguinte padrão:

adl application.xml

Em que application.xml é o arquivo do descritor do aplicativo para o aplicativo.

A sintaxe completa para o ADL é:

adl     [-runtime runtime-directory] 
    [-pubid publisher-id] 
    [-nodebug] 
    [-atlogin] 
    [-profile profileName] 
    [-screensize value] 
    [-extdir extension-directory] 
    application.xml 
    [root-directory] 
    [-- arguments]

(Itens entre colchetes, [], são opcionais.)

-runtime runtime-directory Especifica o diretório que contém o runtime a ser usado. Se não especificado, o diretório do runtime no mesmo SDK do programa ADL é usado. Se você mover o ADL para fora da pasta SDK, especifique o diretório de runtime. No Windows e no Linux, especifique o diretório que contém o diretório do Adobe AIR . No Mac OS X, especifique o diretório que contém a estrutura do Adobe AIR.

-pubid publisher-id Atribui o valor especificado como o ID do editor do aplicativo do AIR para essa execução. Especificar um ID de editor temporária permite que você teste recursos de um aplicativo do AIR, como comunicação por uma conexão local, que usa o ID do editor para ajudar a identificar unicamente um aplicativo. A partir do AIR 1.5.3, você também pode especificar o ID do editor no arquivo descritor do aplicativo (e não deve utilizar este parâmetro).

Nota: A partir do AIR 1.5.3, o ID do editor não é mais automaticamente calculado e atribuído a um aplicativo do AIR. Você pode especificar um ID de editor durante a criação de uma atualização para um aplicativo do AIR, mas aplicativos novos não necessitam disso e você não deve especificar um ID de editor.

-nodebug Desativa o suporte para depuração. Se usado, o processo de aplicativo não poderá se conectar ao depurador do Flash e as caixas de diálogo para exceções não manipuladas são suprimidas. (No entanto, instruções de rastreamento ainda serão impressas na janela do console.) Desativar a depuração permite que o seu aplicativo seja executado um pouco mais rapidamente e também emula mais rigorosamente o modo de execução de um aplicativo instalado.

-atlogin Simula a execução do aplicativo no login. Esta flag permite testar a lógica do aplicativo executada somente quando o aplicativo está configurado para iniciar no login do usuário. Quando -atlogin é utilizado, a propriedade reason do objeto InvokeEvent enviado para o aplicativo será login, em vez de standard (a não ser que o aplicativo já esteja sendo executado).

-profile profileName O ADL depura o aplicativo utilizando o perfil especificado. O profileName pode ser um dos seguintes valores:

  • desktop

  • extendedDesktop

  • mobileDevice

Se o descritor do aplicativo inclui um elemento supportedProfiles, o perfil que você especificar com -profile deve ser um membro da lista de suporte. Se o indicador -profile não for usado, o primeiro perfil no descritor do aplicativo é usado como o perfil ativo. Se o descritor do aplicativo não inclui o elemento supportedProfiles e você não usar o indicador -profile, o perfil desktop é usado.

Para obter mais informações, consulte os perfis supportedProfiles e Perfis de dispositivo.

Valor -screensize O tamanho da tela simulada a ser usada quando aplicativos estiverem rodando no perfil MobileDevice no desktop. Especifique o tamanho da tela como um tipo de tela predefinido ou conforme as dimensões em pixels da largura e altura normais e da largura e da altura do layout retrato, além da largura e da altura da tela cheia. Para especificar o valor por tipo, use um dos seguintes tipos de tela predefinidos:

Tipo de tela

Largura x altura normal

Largura x altura tela cheia

480

720 x 480

720 x 480

720

1280x 720

1280x 720

1080

1920 x 1080

1920 x 1080

Droid

480 x 816

480x 854

FWQVGA

240 x 432

240 x 432

FWVGA

480x 854

480x 854

HVGA

320 x 480

320 x 480

iPad

768 x 1004

768 x 1024

iPadRetina

1536 x 2008

1536 x 2048

iPhone

320 x 460

320 x 480

iPhoneRetina

640x 920

640 x 960

iPhone5Retina

640x1096

640 x 1136

iPhone6

750 x 1294

750 x 1334

iPhone6Plus

1242 x 2148

1242 x 2208

iPod

320 x 460

320 x 480

iPodRetina

640x 920

640 x 960

iPod5Retina

640x1096

640 x 1136

NexusOne

480x 762

480 x 800

QVGA

240 x 320

240 x 320

SamsungGalaxyS

480x 762

480 x 800

SamsungGalaxyTab

600x 986

600 x 1024

WQVGA

240 x 400

240 x 400

WVGA

480 x 800

480 x 800

Para especificar as dimensões de pixels da tela diretamente, utilize o seguinte formato:

widthXheight:fullscreenWidthXfullscreenHeight

Sempre especifique as dimensões de pixel para o layout retrato, o que significa especificar a largura como um valor menor do que o valor da altura. Por exemplo, a tela NexusOne pode ser especificada com:

-screensize 480x762:480x800

-extdir extension-directory O diretório no qual o runtime deve buscar extensões nativas. O diretório contém um subdiretório para cada extensão nativa que o aplicativo utilizar. Cada um desses subdiretórios contém o arquivo ANE desempacotado de uma extensão. Por exemplo:

C:\extensionDirs\ 
    extension1.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension1.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    extension2.ane\ 
        META-INF\ 
            ANE\ 
                Android-ARM\ 
                    library.swf 
                    extension2.jar 
                extension.xml 
            signatures.xml 
        catalog.xml 
        library.swf 
        mimetype 
    

Ao utilizar o parâmetro -extdir, considere o seguinte:

  • O comando ADL exige que cada um dos diretórios especificados tenha a extensão do nome de arquivo .ane. No entanto, o trecho do nome de arquivo antes do sufixo “.ane” pode ser qualquer nome de arquivo válido. Elenão precisa corresponder ao valor do elemento extensionID do arquivo de indexação do aplicativo.

  • É possível especificar o parâmetro -extdir mais de uma vez.

  • O uso do parâmetro-extdir é diferente para a ferramenta ADT e a ferramenta ADL. Na ADT, o parâmetro especifica um diretório que contenha arquivos ANE.

  • Também é possível utilizar a variável de extensãoAIR_EXTENSION_PATH para especificar os diretórios de extensão. Consulte Variáveis de ambiente ADT.

application.xml O arquivo do descritor do aplicativo. Consulte Arquivos descritores do aplicativo do AIR. O descritor do aplicativo é o único parâmetro exigido pelo ADL e, na maioria dos casos, o único parâmetro necessário.

root-directory Especifica o diretório raiz do aplicativo a ser executado. Se não especificado, o diretório que contém o arquivo do descritor do aplicativo será usado.

-- arguments Qualquer sequência de caracteres que apareça após "--" é transmitida ao aplicativo como argumentos de linha de comando.

Nota: Quando você inicia um aplicativo do AIR já em execução, uma nova instância desse aplicativo não é iniciada. Em vez disso, um evento invoke é despachado para a instância em execução.

Exemplos de ADL

Execute um aplicativo no diretório atual:

adl myApp-app.xml

Execute um aplicativo em um subdiretório do diretório atual:

adl source/myApp-app.xml release

Execute um aplicativo e transmita dois argumentos de linha de comando, "tick" e "tock":

adl myApp-app.xml -- tick tock

Execute um aplicativo usando um runtime específico:

adl -runtime /AIRSDK/runtime myApp-app.xml

Execute um aplicativo sem o suporte de depuração:

adl -nodebug myApp-app.xml

Execute um aplicativo no perfil do dispositivo móvel e simular o tamanho da tela do Nexus One:

adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

Execute um aplicativo usando Apache Ant para executar o aplicativo (os caminhos mostrados no exemplo são para Windows):

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> 
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> 
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/> 
 
<target name="test"> 
    <exec executable="${ADL}"> 
        <arg value="${APP_DESCRIPTOR}"/> 
        <arg value="${APP_ROOT}"/> 
    </exec>  
</target>

Códigos de erro e saída do ADL

A tabela a seguir descreve os códigos de saída impressos pelo ADL:

Código de saída

Descrição

0

Inicialização bem-sucedida. O ADL é encerrado após o aplicativo do AIR ser encerrado.

1

Invocação bem-sucedida de um aplicativo do AIR já em execução. O ADL é encerrado imediatamente.

2

Erro de uso. Os argumentos fornecidos ao ADL estão incorretos.

3

O runtime não pode ser encontrado.

4

O runtime não pode ser iniciado. Muitas vezes, isso ocorre porque a versão especificada no aplicativo não corresponde à versão do runtime.

5

Ocorreu um erro de causa desconhecida.

6

O arquivo do descritor do aplicativo não pode ser encontrado.

7

O conteúdo do descritor do aplicativo não é válido. Esse erro normalmente indica que o XML não é bem formado.

8

O principal arquivo de conteúdo do aplicativo (especificado no elemento <content> do arquivo do descritor do aplicativo) não pode ser encontrado.

9

O principal arquivo de conteúdo do aplicativo não é um arquivo SWF ou HTML válido.

10

Este aplicativo não possui suporte ao perfil especificado com a opção -profile.

11

O argumento -screensize não é compatível no perfil atual.