Para depurar una aplicación a través de una conexión USB, debe empaquetar la aplicación con la opción
-listen
y no con
-connect
. Si se especifica la opción
‑listen
, el motor de ejecución detecta una conexión de Flash Debugger (FDB) en el puerto TCP 793 cuando se inicia la aplicación. A continuación, ejecuta FDB con la opción
-p
y FDB inicia la conexión.
Procedimiento de depuración a través de USB para Android
Para que el depurador de Flash que se ejecuta en el equipo de escritorio se pueda conectar al motor de ejecución de AIR que se ejecuta en el dispositivo o emulador, se debe usar Android Debug Bridge (ADB - la utilidad del SDK de Android) o iOS Debug Bridge (IDB - la utilidad del SDK de AIR) para reenviar el puerto del dispositivo al puerto de escritorio.
-
Abra una ventana del símbolo del sistema o terminal y examine el directorio que contiene el código de origen para la aplicación.
-
Compile la aplicación con amxmlc, activando la depuración:
amxmlc -debug DebugExample.as
-
Empaquete la aplicación con el destino de depuración adecuado (por ejemplo,
apk-debug
) y especifique la opción
-listen
:
adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
-
Conecte el dispositivo al equipo de depuración con cable USB. (Este procedimiento también se puede utilizar para depurar una aplicación que se ejecute en un emulador, en cuyo caso, una conexión USB no será necesaria ni posible.)
-
Instale la aplicación.
Se puede usar el comando
-installApp
de ADT:
adt -installApp -platform android -package DebugExample.apk
-
Reenvíe el puerto TCP 7936 desde el dispositivo o emulador al equipo de escritorio con la utilidad Android ADB:
adb forward tcp:7936 tcp:7936
-
Inicie la aplicación en el dispositivo.
-
En una ventana de comandos o terminal, ejecute FDB utilizado la opción -p:
fdb -p 7936
-
En la ventana de FDB, escriba el comando
run
:
Adobe fdb (Flash Player Debugger) [build 14159]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
La utilidad FDB intentará conectarse con la aplicación.
-
Cuando se establece la conexión remota, los puntos de corte se pueden establecer con el comando
break
de FDB y después iniciar la ejecución con el 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:
el puerto número 7936 se utiliza como predeterminado para la depuración con USB por el motor de ejecución de AIR y FDB. Es posible especificar diferentes puertos para utilizar con el parámetro del puerto -listen de ADT y el parámetro del puerto -p de FDB. En este caso, se debe utilizar la utilidad Android Debug Bridge para reenviar el número de puerto especificado en ADT al puerto especificado en FDB:
adb forward tcp:adt_listen_port# tcp:fdb_port#
Procedimiento de depuración a través de USB para iOS
Para que el depurador de Flash que se ejecuta en el equipo de escritorio se pueda conectar al motor de ejecución de AIR que se ejecuta en el dispositivo o emulador, se debe usar la utilidad iOS Debug Bridge (IDB, la utilidad del SDK de AIR) reenviar el puerto del dispositivo al puerto de escritorio.
-
Abra una ventana del símbolo del sistema o terminal y examine el directorio que contiene el código de origen para la aplicación.
-
Compile la aplicación con amxmlc, activando la depuración:
amxmlc -debug DebugExample.as
-
Empaquete la aplicación con el destino de depuración adecuado (por ejemplo
ipa-debug
o
ipa-debug-interpreter
) y especifique la opción
-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 el dispositivo al equipo de depuración con cable USB. (Este procedimiento también se puede utilizar para depurar una aplicación que se ejecute en un emulador, en cuyo caso, una conexión USB no será necesaria ni posible.)
-
Instalación y arranque de la aplicación en el dispositivo iOS. En AIR 3.4 y posterior, puede utilizar
adt -installApp
para instalar la aplicación a través de USB.
-
Determine el dispositivo con el comando
idb -devices
(IDB se encuentra en
air_sdk_root
/lib/aot/bin/iOSBin/idb
):
./idb -devices
List of attached devices
Handle UUID
1 91770d8381d12644df91fbcee1c5bbdacb735500
Nota:
(AIR 3.4 y posterior) Puede utilizar
adt -devices
en lugar de
idb -devices
para determinar el control del dispositivo.
-
Redirija un puerto del escritorio al puerto especificado en el parámetro
adt -listen
(en este caso, 16000; el valor predeterminado es 7936) con la utilidad IDB y el ID de dispositivo encontrado en el paso anterior:
idb -forward 7936 16000 1
En este ejemplo, 7936 es el puerto de escritorio, 16000 es el puerto que detecta el dispositivo conectado y 1 es el ID de dispositivo del dispositivo conectado.
-
En una ventana de comandos o terminal, ejecute FDB utilizado la opción -p:
fdb -p 7936
-
En la ventana de FDB, escriba el comando
run
:
Adobe fdb (Flash Player Debugger) [build 23201]
Copyright (c) 2004-2007 Adobe, Inc. All rights reserved.
(fdb) run
-
La utilidad FDB intentará conectarse con la aplicación.
-
Cuando se establece la conexión remota, los puntos de corte se pueden establecer con el comando
break
de FDB y después iniciar la ejecución con el comando
continue
:
Nota:
el puerto número 7936 se utiliza como predeterminado para la depuración con USB por el motor de ejecución de AIR y FDB. Es posible especificar diferentes puertos para utilizar con el parámetro del puerto -listen de IDB y el parámetro del puerto -p de FDB.