flex adl 是 Adobe AIR Debug Launcher (ADL) 的一个命令行工具,专门用于在开发阶段测试和调试 Adobe AIR 应用程序。

什么是 flex adl?
flex adl 是一个命令行工具,它的作用是:
- 启动 AIR 应用程序:无需安装,直接从你的开发目录运行 AIR 应用。
- 模拟不同环境:可以模拟不同的设备、屏幕尺寸、操作系统和网络状况。
- 调试 AIR 应用:与调试器(如 Flash Builder 或 Flash Debugger)配合,可以设置断点、检查变量、单步执行代码。
- 自动化测试:可以集成到构建脚本(如 Ant)中,实现自动化的测试流程。
在较新的 Adobe Flash Builder 和命令行工具(如 Apache Flex SDK)中,推荐使用的命令是 adl,而不是 flex adl。flex adl 是旧版 Flex SDK 中的命令,但功能和 adl 基本相同,为了通用性,我们通常讨论的就是 adl 工具。
基本语法
adl 命令的基本语法如下:
adl [options] <application_descriptor> [runtime_options]
参数解释:
[options]:可选的命令行选项,用于控制 ADL 的行为。<application_descriptor>:必需参数,这是 AIR 应用的描述文件,通常是application.xml,ADL 通过这个文件来了解应用的基本信息,如 ID、名称、初始窗口大小等,你需要提供这个文件的完整路径或相对于当前目录的路径。[runtime_options]:可选参数,这些参数会直接传递给你的 AIR 应用程序,你的 AIR 代码可以通过NativeApplication.nativeApplication.args数组来接收这些参数。
常用选项
以下是 adl 命令最常用的一些选项:

| 选项 | 全称 | 描述 | 示例 |
|---|---|---|---|
-profile |
profile |
指定运行时配置文件,如 desktop, mobileDevice, extendedDesktop,这对于测试不同平台的应用至关重要。 |
adl -profile mobileDevice application.xml |
-screensize |
screensize |
当使用 -profile mobileDevice 时,指定模拟的屏幕尺寸,格式为 宽x高 (480x800)。 |
adl -profile mobileDevice -screensize 800x1280 application.xml |
-platform |
platform |
强制指定目标平台,如 iPhone, iPad, Android,这会影响一些平台特定的行为。 |
adl -platform iPhone application.xml |
-Xdisplay |
display |
指定 AIR 应用程序在哪个显示器上运行(多显示器环境)。 | adl -Xdisplay 1 application.xml |
-extdir |
extensionDir |
指定包含 AIR 扩展的目录路径,如果你的应用依赖了 AIR 扩展(如 ANE),需要使用此选项。 | adl -extdir ./extensions application.xml |
-runtime |
runtime |
指定 AIR 运行时的路径(不常用,通常由系统环境变量决定)。 | adl -runtime /path/to/air application.xml |
-d |
debug |
以调试模式启动应用,这会等待一个调试器连接。 | adl -d application.xml |
-nodebug |
nodebug |
以非调试模式启动应用(默认行为)。 | adl -nodebug application.xml |
-i |
interface |
指定网络接口的 IP 地址。 | adl -i 192.168.1.100 application.xml |
-p |
port |
指定用于调试的端口。 | adl -p 7936 application.xml |
-help |
help |
显示帮助信息。 | adl -help |
实用示例
假设你的项目结构如下:
my-air-app/
├── src/
│ └── Main.as
├── bin/
│ ├── MyApp.swf
│ └── application.xml
└── extensions/
└── myANE.ane
示例 1:最简单的桌面应用启动
在 bin 目录下运行,启动一个普通的桌面 AIR 应用。
# 确保你在 bin 目录下 cd my-air-app/bin # 启动应用 adl application.xml
示例 2:模拟移动设备(如 Android 手机)
模拟一个分辨率为 720x1280 的移动设备。
# 在 bin 目录下 adl -profile mobileDevice -screensize 720x1280 application.xml
示例 3:启动调试模式
启动应用并等待 Flash Builder 或其他调试器连接。

# 在 bin 目录下 adl -d application.xml
启动后,你需要在 Flash Builder 中配置一个“AIR Mobile 应用程序”或“AIR Debug Launch”的调试配置,并选择对应的 SWF 和描述文件,然后点击“调试”按钮。
示例 4:向应用程序传递参数
假设你的 AIR 应用需要接收一个文件路径作为参数。
# 在 bin 目录下 adl application.xml "/path/to/my/data.txt"
在你的 AIR 代码(Main.as 的构造函数中)中,你可以这样获取参数:
public function Main() {
trace("接收到的参数数量: " + NativeApplication.nativeApplication.args.length);
for (var i:int = 0; i < NativeApplication.nativeApplication.args.length; i++) {
trace("参数 " + i + ": " + NativeApplication.nativeApplication.args[i]);
}
// ... 其他初始化代码
}
示例 5:使用 AIR 扩展
如果你的应用使用了 .ane 文件,必须使用 -extdir 选项告诉 ADL 在哪里可以找到这些扩展。
# 在项目根目录 my-air-app/ 下运行 adl -extdir ./extensions bin/application.xml
重要注意事项
- 环境变量:确保你的系统已经配置好了 AIR SDK 的环境变量,这样在命令行中才能直接使用
adl命令,通常需要将<AIR_SDK>/bin目录添加到系统的PATH环境变量中。 - 文件路径:在 Windows 中,路径可以使用正斜杠 或反斜杠
\,但用引号括起来更安全,在 macOS 和 Linux 中,使用正斜杠 。 - 与
adt的区别:adl(Adobe Debug Launcher):用于开发和调试,它直接从源码目录运行应用,不进行打包。adt(Adobe AIR Developer Tool):用于打包和发布,它将你的应用(SWF、资源、描述文件等)打包成一个可分发的.air或.ipa/.apk安装文件。
- 版本:确保你使用的
adl版本与你开发 AIR 应用所使用的 SDK 版本一致,以避免兼容性问题。
flex adl (或 adl) 是 AIR 开发者不可或缺的命令行工具,它灵活、强大,能够帮助开发者在没有完整安装包的情况下,快速、高效地测试和调试 AIR 应用在各种环境下的表现,熟练掌握其常用选项,能极大地提升开发效率。
