Utilización de AIR Debug Launcher (ADL)

Utilice AIR Debug Launcher (ADL) para ejecutar tanto aplicaciones basadas en SWF como las basadas en HTML durante la fase de desarrollo. Con ADL se puede ejecutar una aplicación sin primero tener que empaquetarla e instalarla. De forma predeterminada, ADL utiliza un motor de ejecución incluido con el SDK, con lo cual no se necesita instalar el motor de ejecución por separado para utilizar ADL.

ADL imprime sentencias trace y errores en tiempo de ejecución a la salida estándar, pero no admite puntos de corte u otras funciones de depuración. Flash Debugger (o un entorno de desarrollo integrado como Flash Builder o Aptana Studio) se puede emplear para problemas de depuración complejos.

Inicio de una aplicación con ADL

Para ejecutar una aplicación con ADL, utilice el siguiente patrón:

adl application.xml

application.xml es el archivo descriptor de la aplicación para ésta.

La sintaxis completa para ADL es la siguiente:

adl [-runtime runtime-directory] [-pubid publisher-id] [-nodebug] [-profile profileName] application.xml [root-directory] [-- arguments]

-runtime runtime-directory Especifica el directorio que contiene el motor de ejecución a utilizar. Si no se especifica, se utiliza el directorio del motor de ejecución del mismo SDK que el programa ADL. Si ADL se mueve fuera su carpeta en SDK, especifique el directorio del motor de ejecución. En Windows y Linux, especifique el directorio que contiene el directorio Adobe AIR. En Mac OS X, especifique el directorio que contiene Adobe AIR.framework.

-pubid publisher-id Asigna el valor especificado como ID del editor de la aplicación de AIR para esta ejecución. La especificación de un ID de editor temporal permite ensayar las funciones de una aplicación de AIR, como la comunicación a través de una conexión local, que utilizan el ID del editor para ayudar a identificar una aplicación con exclusividad. A partir de AIR 1.5.3, también se puede especificar el ID de editor en el archivo descriptor de la aplicación (y no se debe utilizar este parámetro).

Nota: a partir de AIR 1.5.3, un ID de editor no se vuelve a calcular ni a asignar automáticamente a una aplicación de AIR. Se puede especificar un ID de editor al crear una actualización en una aplicación de AIR existente, pero las nuevas aplicaciones no necesitan ni deben especificar un ID de editor.

-nodebug Desactiva la compatibilidad con la depuración. Si se utiliza, el proceso de la aplicación no podrá conectar con el depurador de Flash y se suprimen los cuadros de diálogo para excepciones no controladas. (Sin embargo, las sentencias trace continúan imprimiéndose en la ventana de la consola.) Si desactivamos la depuración, el funcionamiento de la aplicación se agilizará y el modo de ejecución será más similar al de una aplicación instalada.

-atlogin Simula el inicio de la aplicación al iniciar la sesión. Este indicador permite probar la lógica de la aplicación que sólo se ejecuta cuando una aplicación se establece para iniciarse cuando el usuario inicia la sesión. Cuando se utiliza -atlogin, la propiedad reason del objeto InvokeEvent distribuido en la aplicación será login en lugar de standard (a menos que la aplicación ya se esté ejecutando).

-profile profileName ADL depura la aplicación utilizando el perfil especificado. profileName puede ser desktop, extendedDesktop, mobileDevice y extendedMobileDevice. Para obtener más información, consulte Limitación de los perfiles de la aplicación de destino y Perfiles de la aplicación.

application.xml Archivo descriptor de la aplicación. Consulte Configuración de las propiedades de una aplicación de AIR. El descriptor de la aplicación es el único parámetro que requiere ADL y, en la mayoría de los casos, el único parámetro necesario.

root-directory Especifica el directorio raíz de la aplicación a ejecutar. Si no se especifica, se utilizará el directorio que contiene el archivo descriptor de la aplicación.

-- arguments Las cadenas de caracteres que aparezcan después de "--" se pasan a la aplicación como argumentos de la línea de comandos.

Nota: cuando se intenta iniciar una aplicación de AIR que ya está ejecutándose, no se inicia una nueva instancia de la aplicación, sino que se distribuye un evento invoke a la instancia que está en ejecución.

Impresión de sentencias trace

Para imprimir sentencias trace en la consola que se utiliza para ejecutar ADL, añada sentencias trace al código con la función trace():

Ejemplo de ActionScript:

//ActionScript 
trace("debug message"); 

Ejemplo de JavaScript:

//JavaScript 
air.trace("debug message");
En el código JavaScript se pueden utilizar las funciones alert() y confirm() para mostrar los mensajes de depuración de la aplicación. Además, los números de línea para los errores de sintaxis, así como las excepciones de JavaScript sin capturar se imprimen en la consola.
Nota: para utilizar el prefijo air que muestra en el ejemplo de JavaScript, debe importar el archivo AIRAliases.js en la página. El archivo se ubica en el directorio frameworks del SDK de AIR.

Ejemplos con ADL

Ejecute una aplicación del directorio actual:

adl myApp-app.xml

Ejecute una aplicación de un subdirectorio del directorio actual:

adl source/myApp-app.xml release

Ejecute una aplicación y transmita dos argumentos de la línea de comandos, "tick" y "tock":

adl myApp-app.xml -- tick tock

Ejecute una aplicación con un motor de ejecución específico:

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

Ejecute una aplicación sin compatibilidad de depuración:

adl myApp-app.xml -nodebug

Ejecute una aplicación utilizando Apache Ant para ejecutarla:

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

Conexión a Flash Debugger (FDB)

Para depurar aplicaciones de AIR con Flash Debugger, inicie una sesión de FDB y posteriormente inicie la aplicación con ADL.

Nota: en las aplicaciones de AIR basadas en SWF los archivos de origen de ActionScript se deben compilar con el indicador -debug. (En Flash Professional, seleccione la opción Permitir depuración en el cuadro de diálogo Configuración de publicación.)
  1. Inicie FDB. El programa FDB se encuentra en el directorio bin del SDK de Flex.

    La consola presenta el indicador de FDB: <fdb>

  2. Ejecute el comando run: <fdb>run [Enter]

  3. En otra consola de comandos o de shell, inicie una versión de depuración de la aplicación:

    adl myApp.xml
  4. Utilice comandos de FDB para definir los puntos de corte según proceda.

  5. Escriba:: continue [Intro]

Si una aplicación de AIR se basa en SWF, el depurador sólo controla la ejecución de código ActionScript. Si la aplicación de AIR se basa en HTML, el depurador sólo controla la ejecución de código JavaScript.

Para ejecutar ADL sin conexión con el depurador, incluya la opción -nodebug:

adl myApp.xml -nodebug

Para obtener información básica sobre los comandos de FDB, ejecute el comandohelp:

<fdb>help [Enter]

Para obtener información sobre los comandos de FDB, consulte Using the command-line debugger commands (Uso de los comandos del depurador de la línea de comandos) en la documentación de Flex (en inglés).

Códigos de error y de salida de ADL

En el cuadro siguiente se describen los códigos de error o de salida que imprime ADL:

Código de salida

Descripción

0

Inicio satisfactorio. ADL se cierra después de cerrarse la aplicación de AIR.

1

Invocación satisfactoria de una aplicación de AIR que ya está en ejecución. ADL se cierra inmediatamente.

2

Error de uso. Los argumentos proporcionados a ADL son incorrectos.

3

No se puede encontrar el motor de ejecución.

4

No se puede iniciar el motor de ejecución. Esto se debe con frecuencia a que la versión especificada en la aplicación no coincide con la versión o el nivel de revisión del motor de ejecución.

5

Se ha producido un error de causa desconocida.

6

No se puede encontrar el archivo descriptor de la aplicación.

7

El contenido del descriptor de la aplicación no es válido. Este error suele indicar que el XML no está bien conformado.

8

No se puede encontrar el archivo de contenido principal de la aplicación (especificado en el elemento <content> del archivo descriptor de la aplicación).

9

El archivo de contenido principal de la aplicación no es un archivo SWF o HTML válido.

10

La aplicación no admite el perfil especificado con la opción -profile.