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 可讓您使用僅有 ActionScript 的虛設常式,或 ANE 套件 中擴充功能的模擬版來測試。不過,裝置上安裝的對應擴充功能通常還包含原生程式碼。若要使用含原生程式碼的擴充功能進行測試,請在目標裝置上執行應用程式。

如需詳細資訊,請參閱 AIR Debug Launcher (ADL)

使用原生擴充功能

如果應用程式會使用原生擴充功能,則 ADL 命令看起來會如同下列範例:

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

此範例假設:

  • ADL 工具的路徑位於命令列殼層的路徑定義中 (請參閱 Path 環境變數 )。

  • 目前的目錄包含應用程式檔案。這些檔案包括 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 會模擬電視裝置上的遙控器按鈕。當使用電視描述檔啟動 ADL 時,您可以使用顯示的選單,傳送這些按鈕輸入至模擬的裝置。

螢幕大小

您可以設定 ADL -screensize 參數,以便在不同大小的螢幕上測試您的應用程式。您可以指定包含四個值的字串,這四個值分別代表一般與最大螢幕的寬度與高度。

請一律指定縱向版面的像素尺寸,也就是將寬度的值指定為小於高度的值。例如:

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

追蹤陳述式

在桌上型電腦上執行您的電視應用程式時,追蹤輸出會列印至除錯程式或用來啟動 ADL 的終端機視窗。

使用 Flash Professional 遠端除錯

您可以使用 Flash Professional,對目標裝置上執行的 AIR for TV 應用程式進行遠端除錯。不過,設定遠端除錯的步驟需視裝置而定。例如,Adobe® AIR® for TV MAX 2010 硬體開發套件即包含文件來說明該裝置適用的詳細步驟。

不過,無論目標裝置為何,請執行下列步驟來準備進行遠端除錯:

  1. 在「發佈設定」對話方塊的「Flash」索引標籤中,選取「允許除錯」。

    此選項會讓 Flash Professional 在從 FLA 檔建立的所有 SWF 檔中包含除錯資訊。

  2. 在「Adobe AIR 設定」對話方塊 (應用程式和安裝程式設定) 的「簽名」索引標籤中,選取準備 AIR 中間 (AIRI) 檔的選項。

    當您還在開發應用程式時,使用不需要數位簽名的 AIRI 檔案便已足夠。

  3. 發佈應用程式並建立 AIRI 檔。

最後的步驟是在目標裝置上安裝並執行應用程式。不過,這些步驟視裝置而定。

使用 Flash Builder 遠端除錯

您也可以使用 Flash Builder,對目標裝置上執行的 AIR for TV 應用程式進行遠端除錯。不過,執行遠端除錯的步驟視裝置而定。

不過,無論目標裝置為何,請執行下列步驟來準備進行遠端除錯:

  1. 選取「專案 > 匯出發行組建」。選取準備 AIR 中間 (AIRI) 檔的選項。

    當您還在開發應用程式時,使用不需要數位簽名的 AIRI 檔案便已足夠。

  2. 發佈應用程式並建立 AIRI 檔。

  3. 變更應用程式的 AIRI 套件以納入含有除錯資訊的 SWF 檔。

    含有除錯資訊的 SWF 檔是位於應用程式的 Flash Builder 專案目錄中一個名為 bin-debug 的目錄底下。請將 AIRI 套件中的 SWF 檔取代為 bin-debug 目錄中的 SWF 檔。

在 Windows 開發電腦上,您可以執行下列動作來完成此取代工作:

  1. 將 AIRI 套件檔案的副檔名部分重新命名為 .zip,而非 .airi。

  2. 解壓縮 ZIP 檔案內容。

  3. 以 bin-debug 的 SWF 檔案,取代解壓縮的目錄結構中的 SWF 檔案。

  4. 將解壓縮的目錄中的檔案重新壓縮。

  5. 再次將壓縮檔案的副檔名變回 .airi。

如果您使用 Mac 開發電腦,則此取代工作的步驟視裝置而定。不過,這些步驟通常包括:

  1. 在目標裝置上安裝 AIRI 套件。

  2. 將目標裝置上應用程式安裝目錄中的 SWF 檔,取代為 bin-debug 目錄中的 SWF 檔。

    例如,以 Adobe AIR for TV MAX 2010 硬體開發套件隨附的裝置為例。依套件文件所述,安裝 AIRI 套件。然後在 Mac 開發電腦的命令列中,使用 telnet 存取目標裝置。以 bin-debug 目錄中的 SWF,取代應用程式安裝目錄中位於 /opt/adobe/stagecraft/apps/<應用程式名稱>/ 中的 SWF 檔。

下列步驟適用於使用 Flash Builder 以及 Adobe AIR for TV MAX 2010 硬體開發套件隨附的裝置進行遠端除錯。

  1. 在執行 Flash Builder 的電腦 (開發電腦) 上,執行 MAX 2010 硬體開發套件隨附的 AIR for TV Device Connector。它會顯示開發電腦的 IP 位址。

  2. 在硬體套件裝置上,啟動開發套件同時還隨附的 DevMaster 應用程式。

  3. 在 DevMaster 應用程式中,輸入 AIR for TV Device Connector 所顯示您開發電腦的 IP 位址。

  4. 在 DevMaster 應用程式中,確定已選取「啟用遠端除錯」。

  5. 結束 DevMaster 應用程式。

  6. 在開發電腦上,選取 AIR for TV Connector 中的「啟動」。

  7. 在硬體套件裝置上,啟動另一個應用程式。確認 AIR for TV Device Connector 中顯示了追蹤資訊。

    如果未顯示追蹤資訊,表示開發電腦和硬體套件裝置未連線。確定開發電腦上用於追蹤資訊的連接埠可以使用。您可以在 AIR for TV Device Connector 中選擇不同的連接埠。另外,請確定防火牆允許他人存取所選連接埠。

接下來,在 Flash Builder 中啟動除錯程式。請執行下列動作:

  1. 在 Flash Builder 中,選取「Run > Debug Configurations」。

  2. 從用於進行本機除錯的現有除錯組態中,複製專案的名稱。

  3. 在「Debug Configurations」對話方塊中,選取「Web Application」。然後選取「New Launch Configuration」圖示。

  4. 將專案名稱貼到「Project」欄位中。

  5. 在「URL Or Path To Launch」區段中,取消勾選「Use Default」。另外,在文字欄位中輸入 about:blank

  6. 選取「Apply」以儲存變更。

  7. 選取「Debug」以啟動 Flash Builder 除錯程式。

  8. 在硬體套件裝置上啟動應用程式。

現在,您可以使用 Flash Builder 除錯程式來設定中斷點和檢查變數 (舉例來說)。