AIR for TV アプリケーションのデバッグ

ADL を使用したデバイスシミュレーション

ほとんどのアプリケーション機能をテストおよびデバッグするために最も迅速かつ簡単に実行できる方法は、AIR 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 デバイスを対象とする場合は、Video クラスではなく StageVideo クラスを使用してビデオを再生します。StageVideo クラスはデバイスのハードウェアによるパフォーマンス上のメリットを活用できますが、表示の制限事項が伴います。ADL はこれらの制限なしにデスクトップ上でビデオを再生します。このため、ターゲットデバイス上でビデオ再生をテストしてください。

  • ネイティブ拡張のネイティブコードはシミュレートされません。ただし、ADL -profile 引数では、ネイティブ拡張をサポートする extendedTV プロファイルを指定できます。ADL を使用すると、ANE パッケージに含まれる拡張の ActionScript 専用スタブまたは拡張のシミュレーターバージョンを利用したテストを実行できます。ただし通常は、対応する拡張(デバイスにインストールされる)にも、ネイティブコードが含まれます。ネイティブコードが含まれる拡張を使用してテストするには、ターゲットデバイス上でアプリケーションを実行します。

詳しくは、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 パラメーターを設定することで、様々なサイズの画面上でアプリケーションをテストできます。通常の画面と最大化した画面の幅と高さを表す、4 つの値を含む文字列を指定できます。

縦長レイアウト用のピクセルサイズを必ず指定してください。つまり、幅の値を、高さよりも小さな値に指定してください。次に、例を示します。

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

トレースステートメント

デスクトップ上でテレビアプリケーションを実行すると、デバッガーまたは ADL の起動に使用したターミナルウィンドウに、トレース出力が表示されます。

Flash Professional によるリモートデバッグ

Flash Professional を使用して、AIR for TV アプリケーションをターゲットデバイスで実行しているときに、このアプリケーションをリモートでデバッグすることができます。ただし、リモートデバッグの設定手順はデバイスによって異なります。例えば、Adobe® AIR® for TV MAX 2010 Hardware Development Kit には、このデバイス用の詳細な手順に関するドキュメントが含まれています。

ターゲットデバイスの種類に関わらず、リモートデバッグを準備するために次の手順を実行します。

  1. パブリッシュ設定ダイアログボックスの「Flash」タブで、「デバッグを許可」を選択します。

    このオプションを使用すると、Flash Professional では、FLA ファイルから作成されるすべての SWF ファイル内にデバッグ情報が取り込まれます。

  2. Adobe AIR 設定ダイアログボックス(アプリケーションとインストーラーの設定)の「署名」タブで、AIR Intermediate(AIRI)ファイルの準備をするためのオプションを選択します。

    アプリケーションの開発途中では、デジタル署名を必要としない AIRI ファイルを使用すれば十分です。

  3. AIRI ファイルを作成しアプリケーションをパブリッシュします。

最後の手順により、アプリケーションがターゲットデバイスにインストールされ実行されます。ただし、これらの手順はデバイスによって異なります。

Flash Builder によるリモートデバッグ

Flash Builder を使用して、AIR for TV アプリケーションをターゲットデバイスで実行しているときに、このアプリケーションをリモートでデバッグすることもできます。ただし、リモートデバッグの手順はデバイスによって異なります。

ターゲットデバイスの種類に関わらず、リモートデバッグを準備するために次の手順を実行します。

  1. プロジェクト/リリースビルドの書き出しを選択します。AIR Intermediate(AIRI)ファイルを準備するオプションを選択します。

    アプリケーションの開発途中では、デジタル署名を必要としない AIRI ファイルを使用すれば十分です。

  2. AIRI ファイルを作成しアプリケーションをパブリッシュします。

  3. アプリケーションの AIRI パッケージを、デバッグ情報を持つ SWF ファイルを含めるように変更します。

    デバッグ情報を持つ SWF ファイルは、アプリケーション用の Flash Builder プロジェクトディレクトリの下の bin-debug というディレクトリにあります。AIRI パッケージ内の SWF ファイルを、bin-debug ディレクトリ内の SWF ファイルに置き換えます。

Windows 開発マシンでは、次の操作によってこの置き換えを実行できます。

  1. AIRI パッケージファイルの拡張子を、.airi から .zip に変更します。

  2. ZIP ファイルの中身を抽出します。

  3. 抽出されたディレクトリ構造内の SWF ファイルを bin-debug の SWF に置き換えます。

  4. 抽出されたディレクトリ内のファイルを再度圧縮します。

  5. 圧縮したファイルの拡張子をもう一度 .airi に変更します。

Mac 開発マシンを使用している場合は、この置き換えの手順はデバイスによって異なります。ただし、一般的には次の手順を行います。

  1. ターゲットデバイスに AIRI パッケージをインストールします。

  2. ターゲットデバイス上にあるアプリケーションインストールディレクトリ内の SWF ファイルを、bin-debug ディレクトリの SWF ファイルに置き換えます。

    例えば、Adobe AIR for TV MAX 2010 Hardware Development Kit に含まれるデバイスの場合、キットに含まれるドキュメントの説明に従って、AIRI パッケージをインストールします。その後で、Mac 開発マシンのコマンドラインで telnet を使用して、ターゲットデバイスにアクセスします。アプリケーションインストールディレクトリ /opt/adobe/stagecraft/apps/<application name>/ にある SWF ファイルを、bin-debug ディレクトリの SWF ファイルに置き換えます。

次に、Flash Builder と Adobe AIR for TV MAX 2010 Hardware Development Kit に含まれる デバイスを使用したリモートデバッグの手順を示します。

  1. Flash Builder を実行中のコンピューター(開発コンピューター)で、MAX 2010 Hardware Development Kit に付属する AIR for TV Device Connector を実行します。開発コンピューターの IP アドレスが表示されます。

  2. ハードウェアキットデバイス上で DevMaster アプリケーション(開発キットに含まれる)を起動します。

  3. DevMaster アプリケーションで、AIR for TV Device Connector に表示されている開発コンピューターの IP アドレスを入力します。

  4. DevMaster アプリケーションで、「Enable Remote Debugging」が選択されていることを確認します。

  5. DevMaster アプリケーションを終了します。

  6. 開発コンピューターで、AIR for TV Connector の「Start」を選択します。

  7. ハードウェアキットデバイスで、他のアプリケーションを開始します。AIR for TV Device Connector にトレース情報が表示されているかどうかを確認します。

    トレース情報が表示されていない場合、開発コンピューターとハードウェアキットデバイスが接続されていません。トレース情報に使用される開発コンピューター上のポートが利用可能であることを確認してください。AIR for TV Device Connector で異なるポートを選択できます。また、ファイアウォールが選択したポートへのアクセスを許可していることを確認してください。

次に、Flash Builder でデバッガーを開始します。次の手順を実行してください。

  1. Flash Builder で、実行/デバッグの構成を選択します。

  2. ローカルデバッグ用の既存のデバッグの構成から、プロジェクトの名前をコピーします。

  3. デバッグの構成ダイアログボックスで、「Web アプリケーション」を選択します。次に、「新規の起動構成」アイコンを選択します。

  4. 「プロジェクト」フィールドにプロジェクト名をペーストします。

  5. 「起動する URL またはパス」セクションで、「デフォルトを使用」のチェックを解除します。また、テキストフィールドに "about:blank" を入力します。

  6. 「適用」を選択して、変更を保存します。

  7. 「デバッグ」を選択し、Flash Builder デバッガーを開始します。

  8. ハードウェアキットデバイス上でアプリケーションを開始します。

この時点で、Flash Builder デバッガーを使用して、ブレークポイントの設定や変数の調査などを実行できます。