Um eine App über eine USB-Verbindung zu debuggen, komprimieren Sie die Anwendung mit der
-listen
-Option anstelle der
-connect
-Option. Wenn Sie die
-listen
-Option angeben, wartet die Laufzeitumgebung beim Starten der Anwendung auf eine Verbindung vom Flash Debugger (FDB) an TCP-Port 7936. Danach führen Sie den FDB mit der Option
-p
aus und der FDB stellt die Verbindung her.
USB-Debugging für Android
Damit der Flash Debugger, der auf dem Desktopcomputer ausgeführt wird, eine Verbindung zur AIR-Laufzeitumgebung, die auf dem Gerät oder Emulator ausgeführt wird, herstellen kann, müssen Sie die Android Debug Bridge (ADB - Utility aus dem Android SDK) oder die iOS Debug Bridge (IDB - Utility aus dem AIR SDK) verwenden, um den Geräte-Port an den Desktop-Port weiterzuleiten.
-
Öffnen Sie ein Terminalfenster oder eine Befehlszeile und navigieren Sie zum Verzeichnis, das den Quellcode der Anwendung enthält.
-
Kompilieren Sie die Anwendung mit amxmlc und aktivieren Sie dabei das Debugging:
amxmlc -debug DebugExample.as
-
Verpacken Sie die Anwendung mit dem passenden Debugziel (zum Beispiel
apk-debug
) und geben Sie die Option
-listen
an:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
Verbinden Sie das Gerät über ein USB-Kabel mit dem Debugcomputer. (Sie können auf diese Art auch eine Anwendung debuggen, die auf einem Emulator ausgeführt wird. In diesem Fall ist die USB-Verbindung nicht erforderlich – und auch nicht möglich.)
-
Installieren Sie die Anwendung.
Sie können den ADT-Befehl
-installApp
verwenden:
adt -installApp -platform android -package DebugExample.apk
-
Leiten Sie den TCP-Port 7936 vom Gerät oder Emulator mithilfe des Android ADB-Utilitys an den Desktopcomputer weiter:
adb forward tcp:7936 tcp:7936
-
Starten Sie die Anwendung auf dem Gerät.
-
Führen Sie in einem Terminal- oder Befehlszeilenfenster FDB unter Verwendung der -p-Option aus:
fdb -p 7936
-
Geben Sie im FDB-Fenster den Befehl
run
ein:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
Ds FDB-Utility versucht, eine Verbindung zur Anwendung herzustellen.
-
Nachdem die Remoteverbindung hergestellt wurde, können Sie mit dem FDB-Befehl
break
Haltepunkte festlegen und dann mit dem
continue
-Befehl die Ausführung starten:
(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
Hinweis:
Beim Debuggen über USB wird standardmäßig Port 7936 sowohl für die AIR-Laufzeitumgebung als auch für FDB verwendet. Mit dem ADT-Port-Parameter „listen“ und dem FDB-Port-Parameter „-p“ können Sie andere Ports angeben. In diesem Fall müssen Sie die in ADT angegebene Portnummer mit dem Android Debug Bridge-Utility an den in FDB angegebene Port weiterleiten:
adb forward tcp:adt_listen_port# tcp:fdb_port#
USB-Debugging für iOS
Damit der Flash Debugger, der auf dem Desktopcomputer ausgeführt wird, eine Verbindung zur AIR-Laufzeitumgebung, die auf dem Gerät oder Emulator ausgeführt wird, herstellen kann, müssen Sie die iOS Debug Bridge (IDB - Utility aus dem AIR SDK) verwenden, um den Geräte-Port an den Desktop-Port weiterzuleiten.
-
Öffnen Sie ein Terminalfenster oder eine Befehlszeile und navigieren Sie zum Verzeichnis, das den Quellcode der Anwendung enthält.
-
Kompilieren Sie die Anwendung mit amxmlc und aktivieren Sie dabei das Debugging:
amxmlc -debug DebugExample.as
-
Verpacken Sie die Anwendung mit dem passenden Debugziel (zum Beispiel
ipa-debug
oder
ipa-debug-interpreter
) und geben Sie die Option
-listen
an:
adt -package -target ipa-debug-interpreter -listen 16000
xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12
-storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
-
Verbinden Sie das Gerät über ein USB-Kabel mit dem Debugcomputer. (Sie können auf diese Art auch eine Anwendung debuggen, die auf einem Emulator ausgeführt wird. In diesem Fall ist die USB-Verbindung nicht erforderlich – und auch nicht möglich.)
-
Installieren und starten Sie die Anwendung auf einem iOS-Gerät. In AIR 3.4 und höheren Versionen können Sie
adt ‑installApp
verwenden, um die Anwendung über USB zu installieren.
-
Bestimmen Sie den Gerätehandle mit dem IDB-Befehl
-devices
(die IDB befindet sich in
air_sdk_root
/lib/aot/bin/iOSBin/idb
):
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
Hinweis:
(AIR 3.4 und höher) Sie können
adt ‑devices
statt
idb ‑devices
verwenden, um den Gerätehandle zu bestimmen.
-
Leiten Sie einen Port von Ihrem Desktop an den im ADT-Parameter
-listen
angegebenen Port weiter (in diesem Fall 16000; die Standardvorgabe ist 7936), indem Sie das IDB-Utility und die im vorherigen Schritt ermittelte Geräte-ID verwenden:
idb -forward 7936 16000 1
In diesem Beispiel ist 7936 der Desktopport, 16000 ist der Port, an dem das verbundene Gerät wartet, und 1 ist die Geräte-ID des verbundenen Geräts.
-
Führen Sie in einem Terminal- oder Befehlszeilenfenster FDB unter Verwendung der -p-Option aus:
fdb -p 7936
-
Geben Sie im FDB-Fenster den Befehl
run
ein:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
Ds FDB-Utility versucht, eine Verbindung zur Anwendung herzustellen.
-
Nachdem die Remoteverbindung hergestellt wurde, können Sie mit dem FDB-Befehl
break
Haltepunkte festlegen und dann mit dem
continue
-Befehl die Ausführung starten:
Hinweis:
Beim Debuggen über USB wird standardmäßig Port 7936 sowohl für die AIR-Laufzeitumgebung als auch für FDB verwendet. Mit dem IDB-Port-Parameter „listen“ und dem FDB-Port-Parameter „-p“ können Sie andere Ports angeben.