Aby skonfigurować Tradefed za pomocą Eclipse, wykonaj te czynności.
Utwórz osobny obszar roboczy do tworzenia Trade Federation. Nie używaj ponownie obszaru roboczego, który jest już używany do tworzenia aplikacji na urządzenia z Androidem.
W razie potrzeby możesz pobrać Eclipse IDE for Java developers z: eclipse.org/downloads
Utwórz projekty
- Uruchom make raz z wiersza poleceń. Spowoduje to utworzenie bibliotek zewnętrznych, od których zależą projekty poniżej.
- Ustaw zmienną ścieżki klasy TRADEFED_ROOT w
Window > Preferences > Java > Build Path> Classpath Variablesi skieruj ją do głównego katalogu źródłowego tradefed. - Ustaw zmienną ścieżki TRADEFED_ROOT w
Window > Preferences > General > Workspace > Linked Resourcesi skieruj ją do głównego katalogu źródłowego tradefed. Użyj kreatora
File > Import...-> General > Existing Projects into workspace", aby zaimportować te projekty Java o otwartym kodzie źródłowym w tych ścieżkach: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/hostOpcjonalnie, jeśli chcesz zobaczyć kod źródłowy
ddmlib, dołącz kod źródłowy z rozdzielonej gałęzi narzędzi, np. /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Opcjonalnie, jeśli chcesz też załadować projekty CTS, zaimportuj:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Automatyczne formatowanie
UWAGA: wymagane pliki znajdują się w development/ide/eclipse w pełnym drzewie źródłowym platformy. Aby uzyskać te pliki, musisz pobrać gałąź platformy, np.
android-latest-release Aby uzyskać te pliki:
/development/android17-release/ide/eclipse/
Użyj plików preferencji w Eclipse, aby automatycznie ustawić formatowanie zgodnie z wytycznymi dotyczącymi stylu Androida. Aby to zrobić w Studio:
- Otwórz Window > Preferences > Java > Code Style.
- W sekcji Formatter zaimportuj plik
android-formatting.xml. - W sekcji Organize > Imports zaimportuj plik
android.importorder.
Usuń spacje na końcu wiersza
Aby wymusić usunięcie wszystkich spacji na końcu wiersza w Eclipse:
- Otwórz Window > Preferences -> Java -> Editor -> Save Actions.
- Następnie Additional Actions -> Configure -> Code > Organizing tab -> Formatter.
- Zaznacz Remove Trailing Whitespace.
- Kliknij Apply and Close.
Sprawdź styl kodu
Podczas przesyłania listy zmian zostanie uruchomiony automatyczny hak przed przesłaniem, który sprawdzi format kodu: google-java-format.
Pomaga to sformatować kod zgodnie z powszechnie stosowanym standardem.
Debugowanie Eclipse
Jeśli chcesz uruchomić kod TF za pomocą debugera w Eclipse, zalecamy najpierw utworzenie testu jednostkowego dla danego kodu, ponieważ będzie to najprostszy i najszybszy sposób na sprawdzenie funkcjonalności.
Aby debugować test jednostkowy TF, kliknij go prawym przyciskiem myszy i wybierz Debug As > JUnit test.
Aby debugować test funkcjonalny TF, postępuj zgodnie z instrukcjami w poprzedniej sekcji dotyczącymi uruchamiania testu funkcjonalnego, ale użyj menu Run > Debug configurations.
Aby debugować sam program TF, podczas uruchamiania dowolnej konfiguracji postępuj zgodnie z instrukcjami w poprzedniej sekcji dotyczącymi uruchamiania testu funkcjonalnego, ale w kroku 4 podaj argumenty wiersza poleceń dla konfiguracji, którą chcesz uruchomić. Aby
debugować konfigurację „instrument”, otwórz menu Run > Debug configuration
i ustaw kartę Arguments w konfiguracji debugowania Eclipse na
-- package <package to run> instrument.
Debugowanie zdalne za pomocą Eclipse
Aby zdalnie debugować sesję tradefed uruchomioną z wiersza poleceń tradefed.sh:
- Uruchom tradefed.sh z flagą debugowania:
TF_DEBUG=1 tradefed.sh. - Poczekaj, aż zobaczysz ten monit z JVM:
Listening for transport dt_socket at address: 10088Oznacza to, że JVM czeka na przyłączenie debugera na porcie10088. - Przyłącz się za pomocą debugowania zdalnego Eclipse z menu głównego: wybierz Run > Debug Configurations....
- W wyskakującym okienku w menu po lewej stronie wybierz Remote Java Application.
- Na pasku działań kliknij ikonę New launch configuration.
- Nazwij konfigurację i jako projekt wybierz tradefederation.
- Wypełnij port adresem podanym wcześniej.
- Przejdź na kartę Source i dodaj projekty tradefederation i google-tradefed do Source Lookup Path.
- Aby rozpocząć sesję debugowania, kliknij Debug.
Debuger przyłącza się do procesu JVM, a w terminalu, w którym działa
tradefed.sh, pojawia się tf> prompt.
Aby przejść przez kod w trybie debugowania, ustaw punkt przerwania w Eclipse i wywołaj
polecenie Tradefed (np. run <test>) w terminalu. Aby debugować dowolny element podczas uruchamiania TF, możesz najpierw ustawić punkt przerwania, a potem przyłączyć debuger Eclipse.
WSKAZÓWKA: aby użyć innego portu, dodaj TF_DEBUG_PORT=nnn do polecenia w kroku 1. Możesz nawet użyć tej opcji w środowisku produkcyjnym, jeśli masz do zbadania tajemnicze błędy zawieszania się: zmień suspend=y na suspend=n w tradefed.sh i uruchom z flagą debugowania. JVM nie będzie czekać na przyłączenie debugera, ale możesz to zrobić w dowolnym momencie, dopóki proces jest uruchomiony.
Debugowanie zdalne za pomocą JDB
Aby użyć debugera Java JDB, wykonaj czynności podobne do tych w Eclipse:
- Uruchom
tradefed.shz flagą debugowania:TF_DEBUG=1 tradefed.sh. - Poczekaj, aż zobaczysz monit z JVM:
Listening for transport dt_socket at address: 10088. Połącz
jdb. Na przykład w croot uruchom:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/srcPoczekaj na połączenie i debuguj! Więcej informacji znajdziesz w artykule
man jdb.
Sprawdź pokrycie kodu
- Zainstaluj wtyczkę Eclemma.
- Otwórz Help > Install New Software i skieruj kreatora na adres http://update.eclemma.org/.
- Po zainstalowaniu wybierz opcję testu Coverage As > JUnit, aby przeprowadzić test pokrycia kodu.