FDB による USB 経由のリモートデバッグ

AIR 2.6(Android) AIR 3.3(iOS)

USB 接続経由でアプリケーションをデバッグするには、-connect オプションではなく -listen オプションを使用してアプリケーションをパッケージ化します。-listen オプションを指定すると、アプリケーションの起動時に、ランタイムは TCP ポート 7936 で Flash デバッガー(FDB)からの接続を監視します。-p オプションを指定して FDB を実行すると、FDB が接続を開始します。

Android 用の USB デバッグの手順

デスクトップコンピューター上で実行する Flash デバッガーが、デバイスまたはエミュレーター上で実行する AIR ランタイムに接続するには、Android Debug Bridge(ADB:Android SDK に含まれるユーティリティ)または iOS Debug Bridge(IDB:AIR SDK に含まれるユーティリティ)を使用して、デスクトップポートにデバイスポートを転送する必要があります。

  1. ターミナルまたはコマンドプロンプトウィンドウを開いて、アプリケーションのソースコードを含むディレクトリに移動します。

  2. デバッグを有効にして、amxmlc でアプリケーションをコンパイルします。

    amxmlc -debug DebugExample.as
  3. 適切なデバッグターゲット(apk-debug など)を使用し、‑listen オプションを指定して、アプリケーションをパッケージ化します。

    adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
  4. USB ケーブルを使用してデバイスとデバッグコンピューターを接続します(エミュレーターで実行するアプリケーションをデバッグする場合も、この手順を使用できます。この場合、USB 接続はできないため、USB ケーブルによる接続は必要ありません)。

  5. アプリケーションをインストールします。

    ADT -installApp コマンドを使用できます。

    adt -installApp -platform android -package DebugExample.apk
  6. Android ADB ユーティリティを使用して、デバイスまたはエミュレーターからデスクトップコンピューターに TCP ポート 7936 を転送します。

    adb forward tcp:7936 tcp:7936
  7. デバイス上でアプリケーションを起動します。

  8. ターミナルまたはコマンドウィンドウで、-p オプションを使用して FDB を実行します。

    fdb -p 7936
  9. FDB ウィンドウで、run コマンドを入力します。

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. FDB ユーティリティがアプリケーションへの接続を試みます。

  11. リモート接続が確立されると、FDB の break コマンドでブレークポイントを設定して、continue コマンドで実行を開始できます。

    (fdb) run 
                                        Player connected; session starting. 
                                        Set breakpoints and then type 'continue' to resume the session. 
                                        [SWF] Users:juser:Documents:FlashProjects:DebugExample:DebugExample.swf - 32,235 bytes after decompression 
                                        (fdb) break clickHandler 
                                        Breakpoint 1 at 0x5993: file DebugExample.as, line 14 
                                        (fdb) continue
注意: ポート番号 7936 は、AIR ランタイムと FDB の両方で、USB デバッグのデフォルトとして使用されます。ADT -listen ポートパラメーターと FDB -p ポートパラメーターで使用するポートには、異なるポートを指定できます。この場合、Android Debug Bridge ユーティリティを使用して、FDB で指定したポートに、ADT で指定したポート番号を転送する必要があります。このコマンドは、adb forward tcp:adt_listen_port# tcp:fdb_port# のようになります。

iOS 用の USB デバッグの手順

デスクトップコンピューター上で実行する Flash デバッガーが、デバイスまたはエミュレーター上で実行する AIR ランタイムに接続するには、iOS Debug Bridge(IDB:AIR SDK に含まれるユーティリティ)を使用して、デスクトップポートにデバイスポートを転送する必要があります。

  1. ターミナルまたはコマンドプロンプトウィンドウを開いて、アプリケーションのソースコードを含むディレクトリに移動します。

  2. デバッグを有効にして、amxmlc でアプリケーションをコンパイルします。

    amxmlc -debug DebugExample.as
  3. 適切なデバッグターゲット(ipa-debugipa-debug-interpreter など)を使用し、‑listen オプションを指定して、アプリケーションをパッケージ化します。

    adt -package -target ipa-debug-interpreter -listen 16000 
                                        xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12  
                                        -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
  4. USB ケーブルを使用してデバイスとデバッグコンピューターを接続します(エミュレーターで実行するアプリケーションをデバッグする場合も、この手順を使用できます。この場合、USB 接続はできないため、USB ケーブルによる接続は必要ありません)。

  5. iOS デバイスにアプリケーションをインストールして起動します。AIR 3.4 以降では、adt -installApp を使用して、USB 経由でアプリケーションをインストールできます。

  6. idb -devices コマンドを使用してデバイスハンドルを確認します(IDB は air_sdk_root/lib/aot/bin/iOSBin/idb にあります)。

    ./idb -devices 
    
                                        List of attached devices 
                                        Handle    UUID 
                                            1     91770d8381d12644df91fbcee1c5bbdacb735500
    注意: (AIR 3.4 以降)idb -devices の代わりに adt -devices を使用して、デバイスハンドルを確認できます。
  7. IDB ユーティリティおよび前の手順で確認したデバイス ID を使用して、adt ‑listen パラメーターで指定したポート(この場合は 16000。デフォルトは 7936)にデスクトップのポートを転送します。

    idb -forward 7936 16000 1

    この例では、7936 はデスクトップポートです。16000 は接続されたデバイスが監視するポートです。1 は接続されたデバイスのデバイス ID です。

  8. ターミナルまたはコマンドウィンドウで、-p オプションを使用して FDB を実行します。

    fdb -p 7936
  9. FDB ウィンドウで、run コマンドを入力します。

    Adobe fdb (Flash Player Debugger) [build 23201] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. FDB ユーティリティがアプリケーションへの接続を試みます。

  11. リモート接続が確立されると、FDB の break コマンドでブレークポイントを設定して、continue コマンドで実行を開始できます。

注意: ポート番号 7936 は、AIR ランタイムと FDB の両方で、USB デバッグのデフォルトとして使用されます。IDB -listen ポートパラメーターと FDB -p ポートパラメーターで使用するポートには、異なるポートを指定できます。