Using the AIR Debug Launcher (ADL)



Use the AIR Debug Launcher (ADL) to run both SWF-based and HTML-based applications during development. Using ADL, you can run an application without first packaging and installing it. By default, ADL uses a runtime included with the SDK, which means you do not have to install the runtime separately to use ADL.

ADL prints trace statements and run-time errors to the standard output, but does not support breakpoints or other debugging features.

Launching an application with ADL

Use the following syntax:

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

-runtime runtime-directory Specifies the directory containing the runtime to use. If not specified, the runtime directory in the same SDK as the ADL program is used. If you move ADL out of its SDK folder, then you must specify the runtime directory. On Windows, specify the directory containing the Adobe AIR directory. On Mac OS X, specify the directory containing Adobe AIR.framework.

-pubid publisher-id Assigns the specified value as the publisher ID of the AIR application for this run. Specifying a temporary publisher ID allows you to test features of an AIR application, such as communicating over a local connection, that use the publisher ID to help uniquely identify an application. The final publisher ID is determined by the digital certificate used to sign the AIR installation file.

-nodebug Turns off debugging support. If used, the application process cannot connect to the Flash debugger and dialogs for unhandled exceptions are suppressed. Trace statements still print to the console window. Turning off debugging allows your application to run a little faster and also emulates the execution mode of an installed application more closely.

application.xml The application descriptor file. See Setting AIR application properties.

root-directory Specifies the root directory of the application to run. If not specified, the directory containing the application descriptor file is used.

-- arguments Any character strings appearing after "--" are passed to the application as command line arguments.

Note: When you launch an AIR application that is already running, a new instance of that application is not started. Instead, an invoke event is dispatched to the running instance.

Printing trace statements

To print trace statements to the console used to run ADL, add trace statements to your code with the air.trace() function:

trace("debug message"); 
air.trace("debug message");

In JavaScript, you can use the alert() and confirm() functions to display debugging messages from your application. In addition, the line numbers for syntax errors as well as any uncaught JavaScript exceptions are printed to the console.

ADL Examples

Run an application in the current directory:

adl myApp-app.xml

Run an application in a subdirectory of the current directory:

adl source/myApp-app.xml release

Run an application and pass in two command line arguments, "tick" and "tock":

adl myApp-app.xml -- tick tock

Run an application using a specific runtime:

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

ADL exit and error codes

The following table describes the exit codes printed by ADL:

Exit code

Description

0

Successful launch. ADL exits after the AIR application exits.

1

Successful invocation of an already running AIR application. ADL exits immediately.

2

Usage error. The arguments supplied to ADL are incorrect.

3

The runtime cannot be found.

4

The runtime cannot be started. Often, this occurs because the version or patch level specified in the application does not match the version or patch level of the runtime.

5

An error of unknown cause occurred.

6

The application descriptor file cannot be found.

7

The contents of the application descriptor are not valid. This error usually indicates that the XML is not well formed.

8

The main application content file (specified in the <content> element of the application descriptor file) cannot be found.

9

The main application content file is not a valid SWF or HTML file.