调试 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 调试器设置断点和检查变量。