调试 AIR for TV 应用程序

使用 ADL 的设备模拟

用来测试和调试大多数应用程序功能的一种最快、最简单的方法是:使用 Adobe Debug Launcher (ADL) 实用程序在开发计算机上运行您的应用程序。

ADL 使用应用程序描述符中的 supportedProfiles 元素来选择要使用的配置文件。具体是:

  • 如果列出多个配置文件,则 ADL 会使用列表中的第一个配置文件。

  • 可以使用 ADL 的 -profile 参数来选择 supportedProfiles 列表中的某个其他配置文件。

  • 如果应用程序描述符中不包括 supportedProfiles 元素,则可以为 -profile 参数指定任何配置文件。

例如,使用以下命令启动应用程序以模拟 tv 配置文件:
adl -profile tv myApp-app.xml

使用 ADL 在桌面上模拟 tv 或 extendedTV 配置文件时,应用程序会在与目标设备更为相似的环境中运行。例如:

  • 不属于 -profile 参数指定的配置文件一部分的 ActionScript API 不可用。

  • ADL 允许通过菜单命令输入设备输入控件(例如,遥控器)的输入指令。

  • 通过在 -profile 参数中指定 tv 或 extendedTV ,ADL 可以在桌面上模拟 StageVideo 类。

  • 通过在 -profile 参数中指定 extendedTV ,可让应用程序使用与应用程序 AIRN 文件一起打包的本机扩展存根或模拟器。

不过,由于 ADL 是在桌面上运行应用程序,因此,使用 ADL 测试 AIR for TV 应用程序具有以下限制:

  • 不能反映应用程序在设备上的性能。请在目标设备上运行性能测试。

  • 无法模拟 StageVideo 对象的限制。在面向 AIR for TV 设备时,您通常会使用 StageVideo 类而不是 Video 类来播放视频。StageVideo 类可以利用设备硬件的性能优势,但存在显示限制。ADL 在桌面上播放视频时不受这些限制的影响。因此,请在目标设备上测试视频播放。

  • 无法模拟本机扩展的本机代码。但是,您可以在 ADL -profile 参数中指定 extendedTV 配置文件,该配置文件支持本机扩展。ADL 允许您使用 ANE 包中包含的 扩展的纯 ActionScript 存根或模拟器版本进行测试。但是,设备上安装的相应 扩展通常也包括本机代码。若要使用带有本机代码的 扩展进行测试,请在目标设备上运行应用程序。

有关详细信息,请参阅 AIR Debug Launcher (ADL) 。

使用本机扩展

如果应用程序使用本机扩展,则 ADL 命令类似于以下示例:

adl -profile extendedTV -extdir C:\extensionDirs myApp-app.xml

此示例假设:

  • 命令行 shell 的路径定义中已定义了 ADL 工具的路径。(请参阅 路径环境变量 。)

  • 当前目录包含应用程序文件。这些文件包括 SWF 文件和应用程序描述符文件,在此示例中,应用程序描述符文件为 myApp-app.xml。

  • 参数 -extdir 命名一个目录,其中包含应用程序使用的各个本机扩展的目录。这些目录中的每个目录都包含本机扩展的 未打包的 ANE 文件。例如:

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

    这些未打包的 ANE 文件包含扩展的仅 ActionScript 存根或模拟器版本。包含本机代码的 扩展版本安装在 AIR for TV 设备上。

有关详细信息,请参阅 针对 Adobe AIR 开发本机扩展 。

控件输入

ADL 可模拟 TV 设备上的远程控制按钮。当使用其中一个 TV 配置文件启动 ADL 时,您可以使用所显示的菜单将这些按钮输入发送到模拟设备上。

屏幕大小

您可以通过设置 ADL -screensize 参数在不同尺寸的屏幕上测试您的应用程序。可以指定包含四个值的字符串,这四个值分别表示正常屏幕和最大化屏幕的宽度和高度。

始终指定纵向布局的像素尺寸,也就是说,将宽度值指定为小于高度值。例如:

adl -screensize 728x1024:768x1024 myApp-app.xml

Trace 语句

在桌面上运行您的 TV 应用程序时,会将 trace 输出打印到调试器或用于启动 ADL 的终端窗口上。

使用 Flash Professional 进行远程调试

当 AIR for TV 应用程序在目标设备上运行时,可以使用 Flash Professional 对其进行远程调试。但是,设置远程调试的步骤取决于设备。例如,Adobe® AIR® for TV MAX 2010 硬件开发工具包中包含有关该设备的详细步骤的文档。

但是,无论是何种目标设备,请执行以下步骤以准备远程调试:

  1. 在“发布设置”对话框的“Flash”选项卡中,选择“允许调试”。

    通过选择此选项,Flash Professional 可在从 FLA 文件创建的所有 SWF 文件中包含调试信息。

  2. 在“Adobe AIR 设置”对话框(应用程序和安装程序设置)的“签名”选项卡中,选择用于准备 AIR 中间 (AIRI) 文件的选项。

    如果您仍在开发应用程序,使用不需要数字签名的 AIRI 文件就足够了。

  3. 发布您的应用程序,创建 AIRI 文件。

最后一个步骤是在目标设备上安装并运行应用程序。但是,这些步骤取决于设备。

使用 Flash Builder 进行远程调试

当 AIR for TV 应用程序在目标设备上运行时,还可以使用 Flash Builder 对其进行远程调试。但是,进行远程调试的步骤取决于设备。

但是,无论是何种目标设备,请执行以下步骤以准备远程调试:

  1. 选择“项目”>“导出发行版”。选择用于准备 AIR 中间 (AIRI) 文件的选项。

    如果您仍在开发应用程序,使用不需要数字签名的 AIRI 文件就足够了。

  2. 发布您的应用程序,创建 AIRI 文件。

  3. 将应用程序的 AIRI 包更改为包含含有调试信息的 SWF 文件。

    包含调试信息的 SWF 文件位于应用程序的 Flash Builder 项目目录中的一个名为 bin-debug 的目录中。使用 bin-debug 目录中的 SWF 文件替换 AIRI 包中的 SWF 文件。

在 Windows 开发计算机上,可以通过执行以下操作来进行此替换:

  1. 对 AIRI 包文件进行重命名,使其具有文件扩展名 .zip 而不是 .airi。

  2. 解压缩 ZIP 文件内容。

  3. 在解压缩的目录结构中使用来自 bin-debug 的 SWF 文件替换 SWF 文件。

  4. 在解压缩的目录中重新压缩文件。

  5. 更改压缩文件,使其再次具有 .airi 文件扩展名。

如果使用的是 Mac 开发计算机,则此替换的步骤与设备有关。但是,通常包括以下步骤:

  1. 在目标设备上安装 AIRI 包。

  2. 使用 bin-debug 目录中的 SWF 文件替换目标设备上应用程序安装目录中的 SWF 文件。

    例如,以 Adobe AIR for TV MAX 2010 硬件开发工具包附带的设备为例。按照工具包文档中的说明安装 AIRI 包。然后,在 Mac 开发计算机命令行中,使用 telnet 访问目标设备。使用 bin-debug 目录中的 SWF 文件替换 /opt/adobe/stagecraft/apps/ <application name> / 下应用程序安装目录中的 SWF 文件。

以下是使用 Flash Builder 和 Adobe AIR for TV MAX 2010 硬件开发工具包附带的设备进行远程调试的步骤。

  1. 在运行 Flash Builder 的计算机以及开发计算机上,运行 MAX 2010 硬件开发工具包附带的 AIR for TV 设备连接器。该连接器会显示开发计算机的 IP 地址。

  2. 在硬件工具包设备上,启动开发工具包附带的 DevMaster 应用程序。

  3. 在 DevMaster 应用程序中,输入开发计算机的 IP 地址,如 AIR for TV 设备连接器中所示。

  4. 在 DevMaster 应用程序中,确保已选择“启用远程调试”。

  5. 退出 DevMaster 应用程序。

  6. 在开发计算机上,选择“在 AIR for TV 连接器中启动”。

  7. 在硬件工具包设备上,启动另一个应用程序。验证 AIR for TV 设备连接器中是否显示跟踪信息。

    如果未显示跟踪信息,则表示开发计算机和硬件开发包设备未连接。请确保开发计算机上用于跟踪信息的端口可用。可以在 AIR for TV 设备连接器中选择其他端口。此外,请确保防火墙允许访问所选择的端口。

然后,在 Flash Builder 中启动调试器。请执行以下操作:

  1. 在 Flash Builder 中,选择“运行”>“调试配置”。

  2. 从用于本地调试的现有调试配置中复制项目名称。

  3. 在“调试配置”对话框中,选择“Web 应用程序”。然后选择“新建启动配置”图标。

  4. 将项目名称粘贴到“项目”字段中。

  5. 在“URL 或启动路径”部分中,取消选中“使用默认值”。也可以在文本字段中输入 about:blank 。

  6. 选择“应用”以保存更改。

  7. 选择“调试”以启动 Flash Builder 调试器。

  8. 在硬件工具包设备上启动应用程序。

现在,您可以使用 Flash Builder 调试器设置断点和检查变量。