AIR Debug Launcher(ADL)

開発時、SWF ベースのアプリケーションと HTML ベースのアプリケーションの両方を実行するには、AIR Debug Launcher(ADL)を使用します。ADL を使用すると、アプリケーションをパッケージ化してインストールしなくても実行できます。デフォルトでは、ADL では SDK に付属するランタイムが使用されるので、ADL を使用するためにランタイムを個別にインストールする必要はありません。

ADL では、トレースステートメントとランタイムエラーが標準出力に出力されますが、ブレークポイントやその他のデバッグ機能はサポートされていません。複雑な問題に対するデバッグ作業には、Flash デバッガー(または、Flash Builder などの統合開発環境)を使用できます。

注意: trace() ステートメントがコンソール上に表示されない場合は、mm.cfg ファイルで ErrorRep rtingEnable または TraceOutputFileEnable を指定していないことを確認してください。このファイルのプラットフォーム別の場所について詳しくは、Editing the mm.cfg file を参照してください。

AIR は直接デバッグできるため、(Adobe® Flash® Player の場合のように)デバッグバージョンのランタイムを用意する必要はありません。コマンドラインデバッグを実行するには、Flash デバッガーと AIR Debug Launcher(ADL)を使用します。

Flash デバッガーは、Flex SDK ディレクトリにあります。ネイティブバージョン(例えば Windows では fdb.exe)は、bin サブディレクトリにあります。Java バージョンは、lib サブディレクトリにあります。AIR Debug Launcher である adl.exe は、Flex SDK のインストール先の bin ディレクトリにあります(独立した Java バージョンはありません)。

注意: fdb は AIR アプリケーションを Flash Player で起動しようとするため、fdb で直接 AIR アプリケーションを起動することはできません。代わりに、実行中の fdb セッションに AIR アプリケーションを接続します。

ADL の使用

ADL でアプリケーションを実行するには、次の形式を使用します。

adl application.xml

この application.xml は、実行するアプリケーションのアプリケーション記述ファイルです。

ADL の完全なシンタックスを以下に示します。

adl     [-runtime runtime-directory] 
    [-pubid publisher-id] 
    [-nodebug] 
    [-atlogin] 
    [-profile profileName] 
    [-screensize value] 
    [-extdir extension-directory] 
    application.xml 
    [root-directory] 
    [-- arguments]

(角括弧 [ ] で囲まれたアイテムはオプションです)

-runtime runtime-directory:使用するランタイムが含まれているディレクトリを指定します。指定しない場合、ADL プログラムと同じ SDK のランタイムディレクトリが使用されます。SDK フォルダー外へ ADL を移動している場合は、ランタイムディレクトリを指定します。Windows および Linux では、Adobe AIR ディレクトリが含まれているディレクトリを指定します。Mac OS X では、Adobe AIR.framework が含まれているディレクトリを指定します。

-pubid publisher-id:指定された値を AIR アプリケーションの発行者 ID としてこの実行に割り当てます。一時的な発行者 ID を指定すると、ローカル接続による通信など、アプリケーションを一意に識別できるようにするために発行者 ID を使用する AIR アプリケーションの機能をテストできます。AIR 1.5.3 では、アプリケーション記述ファイルに発行者 ID を指定することもできます。その場合は、このパラメーターを使用しないでください。

注意: AIR 1.5.3 では、発行者 ID の算出と AIR アプリケーションへの割り当てが自動的に実行されなくなりました。既存の AIR アプリケーションのアップデートを作成するときに、発行者 ID を指定できます。ただし、新しいアプリケーションに発行者 ID は不要なので、指定しないでください。

-nodebug:デバッグサポートをオフにします。このオプションを使用すると、アプリケーションプロセスが Flash デバッガーに接続できなくなり、処理されていない例外のダイアログが非表示になります。ただし、トレースステートメントは、引き続きコンソールウィンドウに出力されます。デバッグをオフにすると、アプリケーションの実行がやや速くなり、インストールされているアプリケーションの実行モードに動作が近くなります。

-atlogin:ログイン時にアプリケーションの起動をシミュレートします。このフラグを使用すると、アプリケーションがユーザーのログイン時に起動するように設定されている場合にのみ実行するアプリケーションロジックをテストできます。-atlogin を使用する場合、アプリケーションに送出される InvokeEvent オブジェクトの reason プロパティは、アプリケーションがすでに実行されていない限り、standard ではなく login です。

-profile profileName:指定されたプロファイルを使用して、アプリケーションをデバッグします。profileName には、次の値のいずれか 1 つを指定できます。

  • desktop

  • extendedDesktop

  • mobileDevice

アプリケーション記述子に supportedProfiles エレメントがある場合、-profile を使用して指定するプロファイルは、サポートされるリストのメンバーである必要があります。-profile フラグを使用しないと、アプリケーション記述子の最初のプロファイルがアクティブプロファイルとして使用されます。アプリケーション記述子に supportedProfiles エレメントがない場合、-profile フラグを使用しないと、desktop プロファイルが使用されます。

詳しくは、supportedProfiles およびデバイスプロファイルを参照してください。

-screensize value:デスクトップで mobileDevice プロファイル内のアプリケーションを実行するときに使用するシミュレートされた画面サイズ。縦長レイアウト用の通常の幅と高さおよびフルスクリーンの幅と高さについては、事前定義した画面の種類またはピクセルサイズで画面サイズを指定します。種類によって値を指定するには、次の事前定義された画面の種類のいずれかを指定します。

画面の種類

通常の幅×高さ

フルスクリーンの幅×高さ

480

720 x 480

720 x 480

720

1280 x 720

1280 x 720

1080

1920 x 1080

1920 x 1080

Droid

480 × 816

480 × 854

FWQVGA

240 × 432

240 × 432

FWVGA

480 × 854

480 × 854

HVGA

320 x 480

320 x 480

iPad

768 x 1004

768 x 1024

iPadRetina

1536 x 2008

1536 x 2048

iPhone

320 × 460

320 x 480

iPhoneRetina

640 x 920

640 x 960

iPhone5Retina

640 x 1096

640 x 1136

iPhone6

750 x 1294

750 x 1334

iPhone6Plus

1242 x 2148

1242 x 2208

iPod

320 × 460

320 x 480

iPodRetina

640 x 920

640 x 960

iPod5Retina

640 x 1096

640 x 1136

NexusOne

480 × 762

480 × 800

QVGA

240 × 320

240 × 320

SamsungGalaxyS

480 × 762

480 × 800

SamsungGalaxyTab

600 x 986

600 x 1024

WQVGA

240 × 400

240 × 400

WVGA

480 × 800

480 × 800

画面のピクセルサイズを直接指定するには、次のフォーマットを使用します。

widthXheight:fullscreenWidthXfullscreenHeight

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

-screensize 480x762:480x800

-extdir extension-directory:ランタイムでネイティブ拡張を検索するディレクトリ。このディレクトリには、アプリケーションで使用するネイティブ拡張ごとにサブディレクトリが 1 つずつ含まれています。これらの各サブディレクトリには、拡張のパッケージ化されていない ANE ファイルが含まれます。次に、例を示します。

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

-extdir パラメーターを使用する場合は、次のことを考慮してください。

  • ADL コマンドでは、指定されている各ディレクトリに .ane というファイル名拡張子を付ける必要があります。ただし、拡張子「.ane」より前のファイル名の部分には、任意の有効なファイル名を指定できます。アプリケーション記述ファイルの extensionID エレメントの値と一致させる必要はありません。

  • -extdir パラメーターは複数回指定できます。

  • -extdir パラメーターの使用方法は、ADT ツールと ADL ツールで異なります。ADT では、このパラメーターは、ANE ファイルを含むディレクトリを指定します。

  • 環境変数 AIR_EXTENSION_PATH を使用して拡張のディレクトリを指定することもできます。ADT 環境変数を参照してください。

application.xml:アプリケーション記述ファイルです。AIR アプリケーション記述ファイルを参照してください。アプリケーション記述子は ADL の唯一の必須パラメーターです。多くの場合、他のパラメーターは必要ありません。

root-directory:実行するアプリケーションのルートディレクトリを指定します。指定しない場合、アプリケーション記述ファイルを含んでいるディレクトリが使用されます。

-- arguments:「--」の後に続くすべての文字ストリングが、コマンドライン引数としてアプリケーションに渡されます。

注意: 既に実行されている AIR アプリケーションを起動した場合、そのアプリケーションの新しいインスタンスは開始されません。代わりに、invoke イベントが実行中のインスタンスに送出されます。

ADL の例

現在のディレクトリのアプリケーションを実行します。

adl myApp-app.xml

現在のディレクトリのサブディレクトリのアプリケーションを実行します。

adl source/myApp-app.xml release

アプリケーションを実行し、「tick」と「tock」の 2 つのコマンドライン引数を渡します。

adl myApp-app.xml -- tick tock

特定のランタイムを使用してアプリケーションを実行します。

adl -runtime /AIRSDK/runtime myApp-app.xml

デバッグサポートを使用せずにアプリケーションを実行します。

adl -nodebug myApp-app.xml

モバイルデバイスプロファイルのアプリケーションを実行し、Nexus One 画面サイズでシミュレートします。

adl -profile mobileDevice -screensize NexusOne myMobileApp-app.xml

アプリケーションを実行するために Apache Ant を使用するアプリケーションを実行します(次のパスは Windows の例です)。

<property name="SDK_HOME" value="C:/AIRSDK"/> 
<property name="ADL" value="${SDK_HOME}/bin/adl.exe"/> 
<property name="APP_ROOT" value="c:/dev/MyApp/bin-debug"/> 
<property name="APP_DESCRIPTOR" value="${APP_ROOT}/myApp-app.xml"/> 
 
<target name="test"> 
    <exec executable="${ADL}"> 
        <arg value="${APP_DESCRIPTOR}"/> 
        <arg value="${APP_ROOT}"/> 
    </exec>  
</target>

ADL の終了コードとエラーコード

次の表で、ADL によって出力される終了コードについて説明します。

終了コード

説明

0

正常起動。ADL は、AIR アプリケーションの終了後に終了します。

1

既に実行されている AIR アプリケーションの正常な呼び出し。ADL は直ちに終了します。

2

使用法エラー。ADL に渡された引数が正しくありません。

3

ランタイムが見つかりません。

4

ランタイムを起動できません。多くの場合、アプリケーションで指定されたバージョンが、ランタイムのバージョンと一致しないために起こります。

5

原因不明のエラーが発生しました。

6

アプリケーション記述ファイルが見つかりません。

7

アプリケーション記述子の内容が無効です。このエラーは、通常、XML の形式が正しくないことを示しています。

8

アプリケーションのメインコンテンツファイル(アプリケーション記述ファイルの <content> エレメントで指定)が見つかりません。

9

アプリケーションのメインコンテンツファイルが、有効な SWF または HTML ファイルではありません。

10

-profile オプションで指定されたプロファイルがアプリケーションでサポートされていません。

11

-screensize 引数は、現在のプロファイルではサポートされていません。