Pour configurer Tradefed à l'aide d'Eclipse, procédez comme suit.
Créez un espace de travail distinct pour développer Trade Federation. Ne réutilisez pas un espace de travail déjà utilisé pour le développement d'appareils Android.
Si nécessaire, vous pouvez télécharger Eclipse IDE for Java developers à l'adresse eclipse.org/downloads.
Créer des projets
- Exécutez make une fois à partir de la ligne de commande. Cela permettra de créer des bibliothèques externes dont dépendent les projets ci-dessous.
- Définissez la variable de chemin de classe TRADEFED_ROOT dans
Window > Preferences > Java > Build Path> Classpath Variableset pointez-la vers la racine source de votre tradefed. - Définissez la variable de chemin d'accès TRADEFED_ROOT dans
Window > Preferences > General > Workspace > Linked Resourceset pointez-la vers la racine source de votre tradefed. Utilisez l'
File > Import...-> General > Existing Projects into workspace"assistant pour importer ces projets Java Open Source sous les chemins suivants :prebuilts/misc/common/ddmlib\* tools/loganalysis tools/loganalysis/tests tools/tradefederation/core tools/tradefederation/core/tests tools/tradefederation/contrib tools/tradefederation/core/remote platform_testing/libraries/health/runners/longevity/host platform_testing/libraries/annotations platform_testing/libraries/health/composers/hostSi vous souhaitez afficher le code source
ddmlib, joignez le code source à partir d'une branche d'outils non groupée, par exemple /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Si vous souhaitez également charger les projets de harnais CTS, importez :
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Formatage automatique
REMARQUE : Les fichiers requis se trouvent dans development/ide/eclipse dans l'arborescence source complète de la plate-forme. Vous devrez donc extraire une branche de plate-forme telle que
android-latest-release pour obtenir ces fichiers:
/development/android17-release/ide/eclipse/
Utilisez des fichiers de préférences dans Eclipse pour définir automatiquement le formateur sur le guide de style Android. Pour ce faire dans Studio :
- Accédez à Window > Preferences > Java > Code Style (Fenêtre > Préférences > Java > Style de code).
- Sous Formatter (Formateur), importez le fichier
android-formatting.xml. - Sous Organize > Imports (Organiser > Importations), importez le fichier
android.importorder.
Supprimer les espaces de fin
Pour forcer Eclipse à supprimer tous les espaces de fin :
- Accédez à Window > Preferences -> Java -> Editor -> Save Actions (Fenêtre > Préférences > Java > Éditeur > Enregistrer les actions).
- Ensuite, accédez à Additional Actions -> Configure -> Code > Organizing tab -> Formatter (Actions supplémentaires > Configurer > Code > Onglet Organisation > Formateur).
- Cochez la case Remove Trailing Whitespace (Supprimer les espaces de fin).
- Cliquez sur Apply and Close (Appliquer et fermer).
Vérifier le style de code
Lorsque vous envoyez une liste de modifications, un hook de pré-téléchargement automatique s'exécute pour vérifier le format de votre code : google-java-format
Cela permet de mettre en forme votre code selon la norme commune.
Déboguer Eclipse
Si vous souhaitez exécuter du code TF via un débogueur dans Eclipse, nous vous recommandons de créer d'abord un test unitaire pour le code en question, car il s'agit du moyen le plus simple et le plus rapide d'exercer la fonctionnalité.
Pour déboguer un test unitaire TF, faites simplement un clic droit dessus et sélectionnez Debug As > JUnit test (Déboguer en tant que > Test JUnit).
Pour déboguer un test fonctionnel TF, suivez les instructions de la section précédente pour exécuter un test fonctionnel, mais utilisez le menu Run > Debug configurations (Exécuter > Configurations de débogage).
Pour déboguer le programme TF lui-même, lorsque vous exécutez une configuration, suivez les instructions de la section précédente pour exécuter un test fonctionnel, mais fournissez les arguments de ligne de commande pour la configuration que vous souhaitez exécuter à l'étape 4. Ainsi
pour déboguer la configuration "instrument", accédez au menu Run > Debug configuration
et définissez l'onglet Arguments dans la configuration de débogage Eclipse sur
-- package <package to run> instrument.
Débogage à distance avec Eclipse
Pour déboguer à distance une session tradefed démarrée à partir de la ligne de commande tradefed.sh, procédez comme suit :
- Démarrez tradefed.sh avec l'option de débogage :
TF_DEBUG=1 tradefed.sh - Attendez que l'invite suivante s'affiche dans la JVM :
Listening for transport dt_socket at address: 10088. Cela signifie que la JVM attend que le débogueur se connecte au port10088. - Connectez-vous au débogage à distance d'Eclipse à partir du menu principal : sélectionnez Run > Debug Configurations... (Exécuter > Configurations de débogage...).
- Dans la boîte de dialogue pop-up, sélectionnez Remote Java Application (Application Java à distance) dans le menu de gauche.
- Cliquez sur l'icône New launch configuration (Nouvelle configuration de lancement) dans la barre d'action.
- Nommez la configuration comme vous le souhaitez et sélectionnez tradefederation comme projet.
- Renseignez le port à l'aide de l'adresse fournie précédemment.
- Passez à l'onglet Source et ajoutez les projets tradefederation et google-tradefed au Source Lookup Path (Chemin de recherche de la source).
- Cliquez sur Debug (Déboguer) pour démarrer la session de débogage.
Le débogueur se connecte au processus JVM en écoute, et le terminal exécutant
tradefed.sh affiche l'invite tf>
Pour parcourir votre code en mode débogage, définissez un point d'arrêt dans Eclipse et appelez
votre commande Tradefed (par exemple, run <test>) dans le terminal. Pour déboguer quoi que ce soit lors du démarrage de TF, vous pouvez d'abord définir le point d'arrêt, puis joindre le débogueur Eclipse.
ASTUCE : Pour utiliser un autre port, ajoutez TF_DEBUG_PORT=nnn à la commande de l'étape 1 ci-dessus. Vous pouvez même l'utiliser dans un environnement de production si vous avez des bugs de blocage mystérieux à examiner : remplacez suspend=y par suspend=n dans tradefed.sh et démarrez avec l'option de débogage. La JVM n'attend pas que le débogueur se connecte, mais vous pouvez le faire à tout moment tant que le processus est en cours d'exécution.
Débogage à distance à l'aide de JDB
Pour utiliser le débogueur Java JDB, suivez des étapes semblables à celles d'Eclipse :
- Démarrez
tradefed.shavec l'option de débogage :TF_DEBUG=1 tradefed.sh - Attendez que l'invite suivante s'affiche dans la JVM :
Listening for transport dt_socket at address: 10088. Connectez
jdb. Par exemple, à partir de croot, exécutez :jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/srcAttendez la connexion et déboguez ! Exécutez
man jdbpour obtenir de l'aide.
Examiner la couverture de code
- Installez le plug-in Eclemma.
- Accédez à Help > Install New Software (Aide > Installer un nouveau logiciel) et pointez l'assistant vers : http://update.eclemma.org/
- Une fois installé, sélectionnez l'option de test Coverage As > JUnit (Couverture en tant que > JUnit) pour exécuter une couverture de code.