Débogage à distance avec le programme FDB via USB

AIR 2.6 (Android) AIR 3.3 (iOS)

Pour déboguer une application mobile via une connexion USB, mettez en package l’application en utilisant l’option ‑listen au lieu de l’option -connect. Si vous spécifiez l’option ‑listen, le moteur d’exécution écoute une connexion provenant du débogueur Flash (FDB) sur le port TCP 7936 au démarrage de l’application. Exécutez alors FDB avec l’option -p ; FDB établit la connexion.

Procédure de débogage USB pour Android

Pour que le débogueur Flash qui s’exécute sur l’ordinateur de bureau se connecte au moteur d’exécution d’AIR qui s’exécute sur le périphérique ou l’émulateur, vous devez utiliser l’utilitaire Android Debug Bridge (ADB, intégré au kit SDK d’Android) ou l’utilitaire iOS Debug Bridge (IDB, intégré au kit SDK d’AIR) pour transmettre le port du périphérique au port de l’ordinateur de bureau.

  1. Ouvrez une fenêtre d’invite de commande ou de terminal et accédez au répertoire qui contient le code source de l’application.

  2. Compilez l’application avec amxmlc en activant le débogage :

    amxmlc -debug DebugExample.as
  3. Mettez en package l’application à l’aide de la cible de débogage appropriée (telle que apk-debug), puis spécifiez l’option ‑listen :

    adt -package -target apk-debug -listen -storetype pkcs12 -keystore ../../AndroidCert.p12 DebugExample.apk DebugExample-app.xml DebugExample.swf
  4. Connectez le périphérique à l’ordinateur de débogage via un câble USB. (Cette procédure permet également de déboguer une application qui s’exécute sur un émulateur, auquel cas la connexion USB est superflue — et impossible.)

  5. Installez l’application.

    Vous pouvez utiliser la commande ADT -installApp :

    adt -installApp -platform android -package DebugExample.apk
  6. Transmettez le port TCP 7936 du périphérique ou de l’émulateur à l’ordinateur de bureau par le biais de l’utilitaire Android ADB :

    adb forward tcp:7936 tcp:7936
  7. Lancez l’application sur le périphérique.

  8. Dans une fenêtre de terminal ou de commande, exécutez FDB à l’aide de l’option -p :

    fdb -p 7936
  9. Dans la fenêtre du programme FDB, saisissez la commande run :

    Adobe fdb (Flash Player Debugger) [build 14159] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. L’utilitaire FDB tente de se connecter à l’application.

  11. Une fois la connexion distante établie, vous pouvez définir les points d’arrêt avec la commande FDB break, puis démarrer l’exécution avec la commande 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
Remarque : le moteur d’exécution d’AIR et FDB utilisent par défaut le port 7936 pour le débogage. Vous pouvez spécifier l’utilisation d’autres ports avec le paramètre de port ADT -listen et le paramètre de port FDB -p. Si tel est le cas, vous devez transférer le numéro de port spécifié dans l’outil ADT au port spécifié dans FDB par le biais de l’utilitaire Android Debug Bridge : adb forward tcp:adt_listen_port# tcp:fdb_port#

Procédure de débogage USB pour iOS

Pour que le débogueur Flash qui s’exécute sur l’ordinateur de bureau se connecte au moteur d’exécution d’AIR qui s’exécute sur le périphérique ou l’émulateur, vous devez utiliser l’utilitaire iOS Debug Bridge (IDB, intégré au kit SDK d’AIR) pour transmettre le port du périphérique au port de l’ordinateur de bureau.

  1. Ouvrez une fenêtre d’invite de commande ou de terminal et accédez au répertoire qui contient le code source de l’application.

  2. Compilez l’application avec amxmlc en activant le débogage :

    amxmlc -debug DebugExample.as
  3. Mettez en package l’application à l’aide de la cible de débogage appropriée (telle que ipa-debug ou ipa-debug-interpreter), puis spécifiez l’option ‑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. Connectez le périphérique à l’ordinateur de débogage via un câble USB. (Cette procédure permet également de déboguer une application qui s’exécute sur un émulateur, auquel cas la connexion USB est superflue — et impossible.)

  5. Installez et lancez l’application sur le périphérique iOS. Dans AIR 3.4 et les versions ultérieures, vous pouvez utiliser adt ‑installApp pour installer l’application via USB.

  6. Déterminez le handle de périphérique à l’aide de la commande idb -devices (IDB est situé dans le dossier air_sdk_root/lib/aot/bin/iOSBin/idb) :

    ./idb -devices 
    
                                        List of attached devices 
                                        Handle    UUID 
                                            1     91770d8381d12644df91fbcee1c5bbdacb735500
    Remarque : (AIR 3.4 et versions ultérieures) vous pouvez utiliser adt ‑devices au lieu de idb ‑devices pour déterminer le handle de périphérique.
  7. Transmettez un port sur votre bureau au port spécifié dans le paramètre adt ‑listen (dans ce cas, 16000 ; le port par défaut est 7936) à l’aide de l’utilitaire IDB et de l’ID de périphérique indiqué à l’étape précédente :

    idb -forward 7936 16000 1

    Dans cet exemple, 7936 est le port de bureau, 16000 est le port sur lequel écoute le périphérique connecté et 1 est l’ID de périphérique du périphérique connecté.

  8. Dans une fenêtre de terminal ou de commande, exécutez FDB à l’aide de l’option -p :

    fdb -p 7936
  9. Dans la fenêtre du programme FDB, saisissez la commande run :

    Adobe fdb (Flash Player Debugger) [build 23201] 
                                        Copyright (c) 2004-2007 Adobe, Inc. All rights reserved. 
                                        (fdb) run
  10. L’utilitaire FDB tente de se connecter à l’application.

  11. Une fois la connexion distante établie, vous pouvez définir les points d’arrêt avec la commande FDB break, puis démarrer l’exécution avec la commande continue :

Remarque : le moteur d’exécution d’AIR et FDB utilisent par défaut le port 7936 pour le débogage. Vous pouvez spécifier l’utilisation d’autres ports avec le paramètre de port -listen d’IDB et le paramètre de port -p de FDB.