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 に含まれるユーティリティ)を使用して、デスクトップポートにデバイスポートを転送する必要があります。
-
ターミナルまたはコマンドプロンプトウィンドウを開いて、アプリケーションのソースコードを含むディレクトリに移動します。
-
デバッグを有効にして、amxmlc でアプリケーションをコンパイルします。
amxmlc -debug DebugExample.as
-
適切なデバッグターゲット(
apk-debug
など)を使用し、
‑listen
オプションを指定して、アプリケーションをパッケージ化します。
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
USB ケーブルを使用してデバイスとデバッグコンピューターを接続します(エミュレーターで実行するアプリケーションをデバッグする場合も、この手順を使用できます。この場合、USB 接続はできないため、USB ケーブルによる接続は必要ありません)。
-
アプリケーションをインストールします。
ADT
-installApp
コマンドを使用できます。
adt -installApp -platform android -package DebugExample.apk
-
Android ADB ユーティリティを使用して、デバイスまたはエミュレーターからデスクトップコンピューターに TCP ポート 7936 を転送します。
adb forward tcp:7936 tcp:7936
-
デバイス上でアプリケーションを起動します。
-
ターミナルまたはコマンドウィンドウで、-p オプションを使用して FDB を実行します。
fdb -p 7936
-
FDB ウィンドウで、
run
コマンドを入力します。
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB ユーティリティがアプリケーションへの接続を試みます。
-
リモート接続が確立されると、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 に含まれるユーティリティ)を使用して、デスクトップポートにデバイスポートを転送する必要があります。
-
ターミナルまたはコマンドプロンプトウィンドウを開いて、アプリケーションのソースコードを含むディレクトリに移動します。
-
デバッグを有効にして、amxmlc でアプリケーションをコンパイルします。
amxmlc -debug DebugExample.as
-
適切なデバッグターゲット(
ipa-debug
や
ipa-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
-
USB ケーブルを使用してデバイスとデバッグコンピューターを接続します(エミュレーターで実行するアプリケーションをデバッグする場合も、この手順を使用できます。この場合、USB 接続はできないため、USB ケーブルによる接続は必要ありません)。
-
iOS デバイスにアプリケーションをインストールして起動します。AIR 3.4 以降では、
adt -installApp
を使用して、USB 経由でアプリケーションをインストールできます。
-
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
を使用して、デバイスハンドルを確認できます。
-
IDB ユーティリティおよび前の手順で確認したデバイス ID を使用して、
adt ‑listen
パラメーターで指定したポート(この場合は 16000。デフォルトは 7936)にデスクトップのポートを転送します。
idb -forward 7936 16000 1
この例では、7936 はデスクトップポートです。16000 は接続されたデバイスが監視するポートです。1 は接続されたデバイスのデバイス ID です。
-
ターミナルまたはコマンドウィンドウで、-p オプションを使用して FDB を実行します。
fdb -p 7936
-
FDB ウィンドウで、
run
コマンドを入力します。
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
FDB ユーティリティがアプリケーションへの接続を試みます。
-
リモート接続が確立されると、FDB の
break
コマンドでブレークポイントを設定して、
continue
コマンドで実行を開始できます。
注意:
ポート番号 7936 は、AIR ランタイムと FDB の両方で、USB デバッグのデフォルトとして使用されます。IDB -listen ポートパラメーターと FDB -p ポートパラメーターで使用するポートには、異なるポートを指定できます。
|
|
|