Para depurar um aplicativo por uma conexão USB, você empacota o aplicativo usando a opção
‑listen
em vez da opção
-connect
. Quando você especifica a opção
‑listen
, o runtime monitora uma conexão do depurador Flash (FDB) na porta TCP 7936 quando iniciar o aplicativo. Você então executa o FDB com a opção
-p
e o FDB inicia a conexão.
Procedimento de depuração USB para Android
Para que o depurador Flash em execução no computador se conecte ao runtime do AIR em execução no dispositivo ou emulador, você precisa usar o Android Debug Bridge (ADB - utilitário do Android SDK) ou o iOS Debug Bridge (IDB - utilitário do AIR SDK) para encaminhar a porta do dispositivo para a porta do computador.
-
Abra um terminal ou janela de comando do prompt e vá ao diretório que contém o código-fonte para o aplicativo.
-
Compile o aplicativo com amxmlc, ativando a depuração:
amxmlc -debug DebugExample.as
-
Empacote o aplicativo usando o destino de deputação apropriado (como
apk-debug
) e especifique a opção
‑listen
:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
Conecte o dispositivo ao computador de depuração com um cabo USB. (Você também pode usar esse procedimento para depurar um aplicativo em execução em um emulador; neste caso a conexão USB não é necessária - ou possível.)
-
Instalar o aplicativo.
Você também pode usar o comando ADT
-installApp
.
adt -installApp -platform android -package DebugExample.apk
-
Encaminhe a porta TCP 7936 do dispositivo ou do emulador para o computador desktop usando o utilitário ADB do Android:
adb forward tcp:7936 tcp:7936
-
Inicie o aplicativo no dispositivo.
-
Em um terminal ou janela de comando execute o FDB usando a opção -p:
fdb -p 7936
-
Na janela FDB, digite o comando
run
:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
O utilitário FDB tenta se conectar com o aplicativo.
-
Quando a conexão remota é estabelecida, você pode definir pontos de interrupção com o comando
break
do FDB e iniciar a execução com o 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:
O número de porta 7936 é usado como padrão para depuração por USB pelo runtime do AIR e pelo FDB. Você pode especificar portas diferentes para usar com o parâmetro de porta -listen do ADT o -p do FDB. Neste caso, você deve usar o utilitário Android Debug Bridge para encaminhar o número da porta especificada em ADT para a porta especificada em FDB:
adb forward tcp:adt_listen_port#:tcp:fdb_port#
Procedimento de depuração para USB para iOS
Para que o depurador do Flash em execução no computador se conecte ao runtime do AIR em execução no dispositivo ou no emulador, você deve usar o utilitário iOS Debug Bridge (IDB - utilitário do AIR SDK) para encaminhar a porta do dispositivo para a porta do desktop.
-
Abra um terminal ou janela de comando do prompt e vá ao diretório que contém o código-fonte para o aplicativo.
-
Compile o aplicativo com amxmlc, ativando a depuração:
amxmlc -debug DebugExample.as
-
Empacote o aplicativo usando o destino de depuração apropriado (como
ipa-debug
ou
ipa-debug-interpreter
e especificar a opção
‑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
-
Conecte o dispositivo ao computador de depuração com um cabo USB. (Você também pode usar esse procedimento para depurar um aplicativo em execução em um emulador; neste caso a conexão USB não é necessária - ou possível.)
-
Instale e inicie o aplicativo no dispositivo iOS. No AIR 3.4 e superior você pode usar
adt ‑installApp
para instalar o aplicativo por USB.
-
Determine o identificador do dispositivo usando o comando
idb -devices
(IDB está localizado em
air_sdk_root
/lib/aot/bin/iOSBin/idb
):
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
Nota:
(AIR 3.4 e superior) Você pode usar
adt ‑devices
no lugar de
idb ‑devices
para determinar o manipulador do dispositivo.
-
Encaminhe uma porta em seu desktop para a porta especificada no parâmetro
adt ‑listen
(neste caso, 16000; o padrão é 7936) usando o utilitário IDB e a ID de dispositivo encontrada na etapa anterior:
idb -forward 7936 16000 1
Neste exemplo, 7936 é a porta do desktop, 16000 é a porta pela qual o dispositivo conectado ouve e 1 é a ID do dispositivo do dispositivo conectado.
-
Em um terminal ou janela de comando execute o FDB usando a opção -p:
fdb -p 7936
-
Na janela FDB, digite o comando
run
:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
O utilitário FDB tenta se conectar com o aplicativo.
-
Quando a conexão remota é estabelecida, você pode definir pontos de interrupção com o comando
break
do FDB e iniciar a execução com o comando
continue
:
Nota:
O número de porta 7936 é usado como padrão para depuração por USB pelo runtime do AIR e pelo FDB. Você pode especificar portas diferentes para usar com o parâmetro de porta -listen do IDB o -p do FDB.