Wykonaj te czynności, aby skonfigurować Tradefed z użyciem Eclipse.
Utwórz osobny obszar roboczy w celu rozwijania federacji handlowej. Nie używaj ponownie obszar roboczy był już wykorzystywany do programowania urządzeń z Androidem.
W razie potrzeby możesz pobrać środowisko Eclipse IDE dla programistów Java: eclipse.org/downloads
Tworzenie projektów
- Uruchom funkcję Make raz z wiersza poleceń. Spowoduje to utworzenie bibliotek zewnętrznych zależy od poniższych projektów.
- Ustaw zmienną ścieżki klasy TRADEFED_ROOT w funkcji
Window > Preferences > Java > Build Path> Classpath Variables
i wskaż ją na poziomie głównym źródła Tradefed - Ustaw zmienną ścieżki TRADEFED_ROOT w polu
Window > Preferences > General > Workspace > Linked Resources
i skieruj ją na katalog główny źródła Tradefed Za pomocą
File > Import...-> General > Existing Projects into workspace"
kreatora przenieś te projekty Java open source do następujące ścieżki: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/host
Opcjonalnie, jeśli chcesz zobaczyć kod źródłowy
ddmlib
, załącz kod źródłowy z gałęzi niepołączonych narzędzi, np. /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Opcjonalnie, jeśli chcesz też wczytać projekty korzystające z pakietu CTS, zaimportuj:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Autoformatowanie
UWAGA: wymagane pliki znajdują się w domenie development/ide/eclipse
na całej platformie.
drzewo źródłowe. Musisz więc sprawdzić gałąź platformy, taką jak main
aby pobrać te pliki:
/development/main/ide/eclipse/
Użyj plików preferencji w Eclipse, aby automatycznie ustawić formatter na wartość Przewodnik stylistyczny dla Androida. Aby to zrobić w Studio:
- Kliknij Okno > Ustawienia > Java > Styl kodu.
- W sekcji Formatter zaimportuj plik
android-formatting.xml
. - W sekcji Uporządkuj > Importy, zaimportuj plik
android.importorder
.
Usuń odstępy na końcu.
Aby wymusić usunięcie całej spacji końcowej przez Eclipse:
- Kliknij Okno > Ustawienia -> Java -> Edytor -> Zapisz działania.
- Następnie Dodatkowe czynności -> Skonfiguruj -> Kod > Karta Organizowanie -> Formatter.
- Zaznacz Usuń odstęp na końcu.
- Kliknij Zastosuj i zamknij.
Sprawdź styl kodu
Gdy prześlesz listę zmian, uruchomi się automatyczny punkt zaczepienia przesyłania, aby sprawdzić
format kodu: google-java-format
Ułatwia to formatowanie kodu zgodnie ze standardem.
Debuguj zaćmienie
Jeśli chcesz uruchomić kod TF za pomocą debugera w Eclipse, zalecamy utwórz test jednostkowy dla danego kodu, ponieważ będzie to najprostsze i najprostszy sposób na sprawdzoną funkcjonalność.
Aby debugować test jednostkowy TF, kliknij go prawym przyciskiem myszy i wybierz Debuguj jako > JUnit test.
Aby debugować test funkcjonalny TF, postępuj zgodnie z instrukcjami w poprzedniej sekcji do przeprowadzenia testu funkcjonalnego, ale należy użyć polecenia Uruchom > Menu konfiguracji debugowania.
Aby debugować program TF, przy uruchamianiu dowolnej konfiguracji postępuj zgodnie z
instrukcji z poprzedniej sekcji dotyczącej przeprowadzenia testu funkcjonalnego, ale zapewnij
argumentów wiersza poleceń konfiguracji, którą chcesz uruchomić w kroku 4. No więc
aby debugować parametr „instrument”, przejdź do sekcji Uruchom > Konfiguracja debugowania
i ustaw kartę Argumenty w konfiguracji debugowania Eclipse na
-- package <package to run> instrument
Zdalne debugowanie za pomocą Eclipse
Wykonaj te czynności, aby zdalnie debugować sesję handlową, która rozpoczęła się od
Wiersz poleceń tradefed.sh
:
- Uruchom plik Tradefed.sh z flagą debugowania:
TF_DEBUG=1 tradefed.sh
- Poczekaj, aż zobaczysz ten komunikat od JVM:
Listening for transport dt_socket at address: 10088
. Oznacza to, że JVM czeka na debugera. podłącz przez port10088
. - Dołącz przy użyciu zdalnego debugowania Eclipse z menu głównego: wybierz Uruchom > Debuguj Konfiguracje...
- W wyskakującym okienku wybierz Zdalna aplikacja Java z menu po lewej stronie.
- Na pasku działań kliknij ikonę Nowa konfiguracja uruchamiania.
- Nazwij konfigurację i wybierz tradefederacja jako w projektach AI.
- Wypełnij port, używając podanego wcześniej adresu.
- Przejdź na kartę Source (Źródło) i dodaj projekty tradefederation oraz google-tradefed na ścieżkę wyszukiwania źródła.
- Kliknij Debuguj, aby rozpocząć sesję debugowania.
Debuger łączy się z procesem nasłuchującym JVM i działającym terminalem
tradefed.sh
pokazuje prompt tf>
.
Aby przejść przez kod w trybie debugowania, ustaw punkt przerwania w Eclipse i wywołaj
polecenie Tradefed (tj. run <test>
) w terminalu. debugowanie czegokolwiek,
podczas uruchamiania TF można najpierw ustawić punkt przerwania, a potem podłączyć Eclipse
.
WSKAZÓWKA: aby użyć alternatywnego portu, dodaj TF_DEBUG_PORT=nnn
do polecenia w kroku 1
powyżej. Możesz go użyć nawet w środowisku produkcyjnym, jeśli
zawieś błędy do zbadania: zmień suspend=y
na suspend=n
w tradefed.sh
i
start od flagi debugowania. JVM nie czeka na podłączenie debugera, ale możesz to zrobić
więc w każdej chwili, dopóki proces nie będzie trwać.
Debugowanie zdalne przy użyciu JDB
Aby użyć JDB Java Debugger, wykonaj czynności podobne do tych w Eclipse:
- Uruchom polecenie
tradefed.sh
z flagą debugowania:TF_DEBUG=1 tradefed.sh
- Poczekaj, aż wyświetli się komunikat z JVM:
Listening for transport dt_socket at address: 10088
. Połącz z usługą
jdb
. Na przykład z polecenia croot run:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Poczekaj na połączenie i debuguj. Aby uzyskać dodatkową pomoc, uruchom polecenie
man jdb
.
Sprawdzanie zasięgu kodu
- Zainstaluj wtyczkę Eclemma.
- Przejdź do Pomoc > > Zainstaluj nowe oprogramowanie i wskaż w kreatorze te polecenia: http://update.eclemma.org/ (tylko w języku angielskim)
- Po zainstalowaniu wybierz Zasięg jako > JUnit, by przeprowadzić uruchomienia zasięgu kodu.