Depuração remota com FDB através de USB

AIR 2.6 (Android) AIR 3.3 (iOS)

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.

  1. Abra um terminal ou janela de comando do prompt e vá ao diretório que contém o código-fonte para o aplicativo.

  2. Compile o aplicativo com amxmlc, ativando a depuração:

    amxmlc -debug DebugExample.as
  3. 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
  4. 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.)

  5. Instalar o aplicativo.

    Você também pode usar o comando ADT -installApp .

    adt -installApp -platform android -package DebugExample.apk
  6. 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
  7. Inicie o aplicativo no dispositivo.

  8. Em um terminal ou janela de comando execute o FDB usando a opção -p:

    fdb -p 7936
  9. 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
  10. O utilitário FDB tenta se conectar com o aplicativo.

  11. 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.

  1. Abra um terminal ou janela de comando do prompt e vá ao diretório que contém o código-fonte para o aplicativo.

  2. Compile o aplicativo com amxmlc, ativando a depuração:

    amxmlc -debug DebugExample.as
  3. 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
  4. 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.)

  5. 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.

  6. 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.
  7. 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.

  8. Em um terminal ou janela de comando execute o FDB usando a opção -p:

    fdb -p 7936
  9. 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
  10. O utilitário FDB tenta se conectar com o aplicativo.

  11. 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.