Per eseguire il debug di un'applicazione tramite una connessione USB, potete creare il pacchetto dell'applicazione usando l'opzione
-listen
anziché
-connect
. Quando specificate l'opzione
-listen
, il runtime resta in attesa di una connessione in entrata dal debugger Flash (FDB) sulla porta TCP 7936 nel momento in cui avviate l'applicazione. Eseguite quindi FDB con l'opzione
-p
per avviare la connessione tramite FDB.
Procedura di debug via USB per Android
Affinché il debugger Flash in esecuzione sul computer desktop possa connettersi al runtime AIR in esecuzione sul dispositivo o l'emulatore, dovete usare l'utilità ADB (Android Debug Bridge), inclusa in Android SDK, oppure l'utilità IDB (iOS Debug Bridge), inclusa in AIR SDK, per instradare la porta del dispositivo alla porta del desktop.
-
Aprite una finestra di terminale o di prompt dei comandi e accedete alla directory che contiene il codice di origine dell'applicazione.
-
Compilate l'applicazione con amxmlc, abilitando il debug:
amxmlc -debug DebugExample.as
-
Create il pacchetto dell'applicazione usando il target di debug appropriate (ad esempio
apk-debug
) e specificate l'opzione
-listen
:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
Connettete il dispositivo al computer di debug con un cavo USB. (Potete seguire questa procedura anche per eseguire il debug di un'applicazione in esecuzione su un emulatore, nel qual caso una connessione USB non è necessaria, né possibile.)
-
Installate l'applicazione.
Potete usare il comando ADT
-installApp
:
adt -installApp -platform android -package DebugExample.apk
-
Instradate la porta TCP 7936 dal dispositivo o emulator al computer desktop utilizzando l'utilità Android ADB:
adb forward tcp:7936 tcp:7936
-
Avviate l'applicazione sul dispositivo.
-
In una finestra di terminale o di comando, eseguite FDB con l'opzione -p:
fdb -p 7936
-
Nella finestra di FDB, digitate il comando
run
:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
L'utilità FDB tenta di connettersi all'applicazione.
-
Quando viene stabilita la connessione remota, potete impostare dei punti di interruzione con il comando FDB
break
e quindi avviare l'esecuzione con il comando
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
Nota:
la porta numero 7936 viene utilizzate come porta predefinita per il debug via USB sia dal runtime AIR che da FDB. Potete specificare porte differenti con il parametro di porta ADT -listen e il parametro di porta FDB -p. In questo caso dovete usare l'utilità Android Debug Bridge per instradare il numero di porta specificato in ADT alla porta specificata in FDB:
adb forward tcp:adt_listen_port# tcp:fdb_port#
Procedura di debug via USB per iOS
Affinché il debugger Flash in esecuzione sul computer desktop possa connettersi al runtime AIR in esecuzione sul dispositivo o l'emulatore, dovete usare l'utilità IDB (iOS Debug Bridge), inclusa in AIR SDK, per instradare la porta del dispositivo alla porta del desktop.
-
Aprite una finestra di terminale o di prompt dei comandi e accedete alla directory che contiene il codice di origine dell'applicazione.
-
Compilate l'applicazione con amxmlc, abilitando il debug:
amxmlc -debug DebugExample.as
-
Create il pacchetto dell'applicazione usando il target di debug appropriate (ad esempio
apk-debug
o
ipa-debug-interpreter
) e specificate l'opzione
-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
-
Connettete il dispositivo al computer di debug con un cavo USB. (Potete seguire questa procedura anche per eseguire il debug di un'applicazione in esecuzione su un emulatore, nel qual caso una connessione USB non è necessaria, né possibile.)
-
Installate e avviate l'applicazione sul dispositivo iOS. In AIR 3.4 e versioni successive, potete usare
adt -installApp
per installare l'applicazione via USB.
-
Determinate l'handle del dispositivo con il comando
idb -devices
(IDB si trova in
air_sdk_root
/lib/aot/bin/iOSBin/idb
):
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
Nota:
(AIR 3.4 e versioni successive) Potete usare
adt -devices
anziché
idb -devices
per determinare l'handle del dispositivo.
-
Instradata una porta del desktop alla porta specificata nel parametro
adt -listen
(in questo caso, 16000; la porta predefinita è 7936) utilizzando l'utilità IDB e l'ID dispositivo trovato nel passaggio precedente:
idb -forward 7936 16000 1
In questo esempio, 7936 è la porta desktop, 16000 è la porta sulla quale è in ascolto il dispositivo connesso e 1 è l'ID dispositivo del dispositivo connesso.
-
In una finestra di terminale o di comando, eseguite FDB con l'opzione -p:
fdb -p 7936
-
Nella finestra di FDB, digitate il comando
run
:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
L'utilità FDB tenta di connettersi all'applicazione.
-
Quando viene stabilita la connessione remota, potete impostare dei punti di interruzione con il comando FDB
break
e quindi avviare l'esecuzione con il comando
continue
:
Nota:
la porta numero 7936 viene utilizzate come porta predefinita per il debug via USB sia dal runtime AIR che da FDB. Potete specificare porte differenti con il parametro di porta IDB -listen e il parametro di porta FDB -p.