转自:http://help.adobe.com/zh_CN/air/build/WSfffb011ac560372f-6fa6d7e0128cca93d31-8000.html
使用 AIR Debug Launcher (ADL) 可以在开发期间运行基于 SWF 和基于 HTML 的应用程序。使用 ADL,您可以在不首先打包和安装应用程序的情况下运行该应用程序。默认情况下,ADL 使用 SDK 随附的运行时,这表示您无需单独安装运行时即可使用 ADL。
ADL 将 trace 语句和运行时错误输出到标准输出,但不支持断点或其他调试功能。对于复杂的调试问题,可以使用 Flash Debugger(或像 Flash Builder 的这样的集成开发环境)。
AIR 支持直接进行调试,因此不需要运行时的调试版本(就像使用 Adobe® Flash® Player 一样)。要执行命令行调试,请使用 Flash Debugger 和 AIR Debug Launcher (ADL)。
Flash Debugger 在 Flex SDK 目录中进行分发。本机版本(例如,Windows 中的 fdb.exe)位于 bin 子目录中。Java 版本位于 lib 子目录中。AIR Debug Launcher adl.exe 位于 Flex SDK 安装的 bin 目录中。(没有单独的 Java 版本)。
ADL 用法
若要使用 ADL 运行应用程序,请使用以下模式:
adl application.xml
其中 application.xml 是应用程序的应用程序描述符文件。
ADL 的完整语法是:
adl [-runtime runtime-directory] [-pubid publisher-id] [-nodebug] [-atlogin] [-profile profileName] [-screensize value] [-extdir extension-directory] application.xml [root-directory] [-- arguments]
(中括号 [] 中的项目为可选项目。)
-runtime runtime-directory 指定包含要使用的运行时的目录。如果未指定,则使用 ADL 程序所在的相同 SDK 中的运行时目录。如果将 ADL 移到其 SDK 文件夹以外,则必须指定运行时目录。在 Windows 和 Linux 中,指定包含 Adobe AIR 目录的目录。在 Mac OS X 中,指定包含 Adobe AIR.framework 的目录。
-pubid publisher-id 分配指定值作为 AIR 应用程序的发行商 ID,以便完成此运行。通过指定临时的发行商 ID,您可以使用该发行商 ID 帮助唯一标识 AIR 应用程序,进而测试该应用程序的功能,例如通过本地连接进行通信。从 AIR 1.5.3 开始,还可以在应用程序描述符文件中指定发行商 ID(不应使用此参数)。
-nodebug 关闭调试支持。如果使用此参数,应用程序进程则无法连接到 Flash Debugger,并禁止显示未处理异常对话框。(但是,trace 语句仍将输出到控制台窗口。)关闭调试可以使应用程序的运行速度略有提高,并可以更准确地模拟已安装的应用程序的执行模式。
-atlogin 在登录时模拟启动应用程序。此标志允许您测试应用程序逻辑是否仅在将应用程序设置为在用户登录时启动才可执行。使用 -atlogin 时,调度到应用程序的 InvokeEvent 对象的 reason 属性将是 login,而非standard(除非应用程序正在运行)。
-profile profileName ADL 使用指定的配置文件对应用程序进行调试。profileName 可以是以下值之一:
-
桌面
-
extendedDesktop
-
mobileDevice
如果应用程序描述符包括 supportedProfiles 元素,则使用 -profile 指定的配置文件必须是受支持列表的成员。如果未使用 -profile 标记,则应用程序描述符中的第一个配置文件将用作活动配置文件。如果应用程序描述符不包括supportedProfiles 元素,并且您未使用 -profile 标记,则会使用桌面配置文件。
有关详细信息,请参阅 supportedProfiles 和设备配置文件。
-screensize value 在桌面上运行 mobileDevice 配置文件中的应用程序时要使用的模拟屏幕大小。将屏幕大小指定为预定义屏幕类型,或者指定为纵向布局标准宽度和高度的像素尺寸,以及全屏宽度和高度的像素尺寸。若要按类型指定值,请使用以下预定义屏幕类型之一:
屏幕类型 | 标准宽度 x 高度 | 全屏宽度 x 高度 |
---|---|---|
480 | 720 x 480 | 720 x 480 |
720 | 1280 x 720 | 1280 x 720 |
1080 | 1920 x 1080 | 1920 x 1080 |
Droid | 480 x 816 | 480 x 854 |
FWQVGA | 240 x 432 | 240 x 432 |
FWVGA | 480 x 854 | 480 x 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 | 640 x 920 | 640 x 960 |
iPhone5Retina | 640 x 1096 | 640 x 1136 |
iPod | 320 x 460 | 320 x 480 |
iPodRetina | 640 x 920 | 640 x 960 |
iPod5Retina | 640 x 1096 | 640 x 1136 |
NexusOne | 480 x 762 | 480 x 800 |
QVGA | 240 x 320 | 240 x 320 |
SamsungGalaxyS | 480 x 762 | 480 x 800 |
SamsungGalaxyTab | 600 x 986 | 600 x 1024 |
WQVGA | 240 x 400 | 240 x 400 |
WVGA | 480 x 800 | 480 x 800 |
若要直接指定屏幕像素尺寸,请使用以下格式:
widthXheight:fullscreenWidthXfullscreenHeight
始终指定纵向布局的像素尺寸,也就是说,将宽度值指定为小于高度值。例如,可以按照以下方式来指定 NexusOne 屏幕:
-screensize 480x762:480x800
-extdir extension-directory 运行时应在其中搜索本机扩展的目录。目录包含应用程序使用的每个本机扩展的子目录。其中的每个子目录都包含扩展的未打包 ANE 文件。例如:
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
使用 -extdir 参数时,请考虑以下事项:
-
ADL 命令要求每一个指定目录都具有 .ane 文件扩展名。不过,“.ane”后缀前面的文件名部分可以是任何有效的文件名。此部分不 必与应用程序描述符文件的 extensionID 元素的值匹配。
-
您可以多次指定 -extdir 参数。
-
ADT 和 ADL 工具使用 -extdir 参数的方式有所不同。在 ADT 中,该参数指定一个包含 ANE 文件的目录。
-
也可使用环境变量 AIR_EXTENSION_PATH 指定扩展目录。请参阅 ADT 环境变量。
application.xml 应用程序描述符文件。请参阅 AIR 应用程序描述符文件。应用程序描述符是 ADL 要求的唯一参数,并且在多数情况下是唯一需要的参数。
root-directory 指定要运行的应用程序的根目录。如果未指定,则使用应用程序描述符文件所在的目录。
-- arguments 在“--”之后显示的任何字符串均作为命令行参数传递到应用程序。
ADL 示例
在当前目录中运行应用程序:
adl myApp-app.xml
在当前目录的子目录中运行应用程序:
adl source/myApp-app.xml release
运行应用程序,并传入“tick”和“tock”两个命令行参数:
adl myApp-app.xml -- tick tock
使用特定运行时运行应用程序:
adl -runtime /AIRSDK/runtime myApp-app.xml
运行不支持调试的应用程序:
adl -nodebug myApp-app.xml
使用移动设备配置文件运行应用程序,并模拟 Nexus One 屏幕大小:
adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml
使用 Apache Ant 运行应用程序(示例中显示的路径适用于 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>
ADL 退出和错误代码
下表列出了 ADL 输出的退出代码:
退出代码 | 说明 |
---|---|
0 | 启动成功。ADL 在 AIR 应用程序退出后退出。 |
1 | 成功调用已在运行的 AIR 应用程序。ADL 立即退出。 |
2 | 用法错误。提供给 ADL 的参数错误。 |
3 | 无法找到运行时。 |
4 | 无法启动运行时。通常,当应用程序中指定的版本与运行时版本不匹配时会发生此情况。 |
5 | 发生未知原因错误。 |
6 | 无法找到应用程序描述符文件。 |
7 | 应用程序描述符内容无效。此错误通常指示 XML 格式错误。 |
8 | 无法找到主应用程序内容文件(在应用程序描述符文件的 <content> 元素中指定)。 |
9 | 主应用程序内容文件不是有效的 SWF 或 HTML 文件。 |
10 | 应用程序不支持使用 -profile 选项指定配置文件。 |
11 | 当前配置文件不支持 -screensize 参数。 |