Konfigurowanie Eclipse

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 ze strony:eclipse.org/downloads

Tworzenie projektów

  1. Uruchom polecenie make raz z wiersza poleceń. Spowoduje to utworzenie bibliotek zewnętrznych, od których zależą projekty poniżej.
  2. Ustaw zmienną ścieżki klasy TRADEFED_ROOT w Window > Preferences > Java > Build Path> Classpath Variables i skieruj ją do głównego katalogu źródłowego Tradefed.
  3. Ustaw zmienną ścieżki TRADEFED_ROOT w Window > Preferences > General > Workspace > Linked Resources i skieruj ją do głównego katalogu źródłowego Tradefed.
  4. Użyj kreatora File > Import...-> General > Existing Projects into workspace", aby zaimportować te projekty Java typu open source w ramach tych ścieżek:

    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
    
  5. Opcjonalnie, jeśli chcesz zobaczyć ddmlib kod źródłowy, dołącz go z gałęzi narzędzi niepowiązanych, np. /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. Opcjonalnie: jeśli chcesz też wczytać projekty platformy 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. W tym celu musisz pobrać gałąź platformy, np.android-latest-release, aby uzyskać te pliki: /development/android16-release/ide/eclipse/

Użyj plików preferencji w Eclipse, aby automatycznie ustawić formatowanie zgodnie z przewodnikiem po stylu Androida. Aby to zrobić w Studio:

  1. Kliknij Window > Preferences > Java > Code Style (Okno > Ustawienia > Java > Styl kodu).
  2. W sekcji Formater zaimportuj plik android-formatting.xml.
  3. W sekcji Uporządkuj > Importy zaimportuj plik android.importorder.

Usuwanie spacji na końcu

Aby wymusić usunięcie wszystkich spacji na końcu w Eclipse:

  1. Kliknij Window > Preferences –> Java –> Editor –> Save Actions (Okno > Preferencje –> Java –> Edytor –> Działania podczas zapisywania).
  2. Następnie kliknij Dodatkowe działania –> Skonfiguruj –> Kod –> Karta Organizowanie –> Formater.
  3. Zaznacz Usuń końcowe białe znaki.
  4. Kliknij Zastosuj i zamknij.

Sprawdzanie stylu kodu

Podczas przesyłania listy zmian zostanie uruchomiony automatyczny hook przed przesłaniem, który sprawdzi format kodu: google-java-format

Pomaga to w formatowaniu kodu zgodnie z ogólnie przyjętym standardem.

Debugowanie Eclipse

Jeśli chcesz uruchomić kod TF w debugerze w Eclipse, zalecamy najpierw utworzenie testu jednostkowego dla danego kodu, ponieważ będzie to najprostszy i najszybszy sposób na sprawdzenie jego funkcjonalności.

Aby debugować test jednostkowy TF, kliknij go prawym przyciskiem myszy i wybierz Debuguj jako > Test JUnit.

Aby debugować test funkcjonalny TF, postępuj zgodnie z instrukcjami z poprzedniej sekcji dotyczącymi uruchamiania testu funkcjonalnego, ale użyj menu Uruchom > Konfiguracje debugowania.

Aby debugować sam program TF, podczas uruchamiania dowolnej konfiguracji postępuj zgodnie z instrukcjami z poprzedniej sekcji dotyczącymi uruchamiania testu funkcjonalnego, ale w kroku 4 podaj argumenty wiersza poleceń dla konfiguracji, którą chcesz uruchomić. Aby debugować konfigurację „instrumentu”, otwórz menu Run > Debug configuration (Uruchom > Konfiguracja debugowania) i na karcie Arguments (Argumenty) w konfiguracji debugowania Eclipse ustaw wartość -- package <package to run> instrument.

Zdalne debugowanie za pomocą Eclipse

Aby zdalnie debugować sesję Tradefed rozpoczętą z wiersza poleceń tradefed.sh:

  1. Uruchom tradefed.sh z flagą debugowania: TF_DEBUG=1 tradefed.sh
  2. Poczekaj, aż zobaczysz ten prompt z JVM: Listening for transport dt_socket at address: 10088 This means the JVM is waiting for debugger to attach at port 10088.
  3. Dołączanie za pomocą zdalnego debugowania w Eclipse z menu głównego: wybierz Uruchom > Konfiguracje debugowania....
  4. W oknie, które się pojawi, w menu po lewej stronie wybierz Remote Java Application (Zdalna aplikacja Java).
  5. Na pasku działań kliknij ikonę Nowa konfiguracja uruchamiania.
  6. Nadaj konfiguracji dowolną nazwę i jako projekt wybierz tradefederation.
  7. Wypełnij port, używając podanego wcześniej adresu.
  8. Przejdź na kartę Źródło i dodaj projekty tradefederation oraz google-tradefed do ścieżki wyszukiwania źródła.
  9. Aby rozpocząć sesję debugowania, kliknij Debuguj.

Debuger dołącza do procesu JVM, który nasłuchuje, a w terminalu z uruchomionym tradefed.sh pojawia się prompt tf>.

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 następnie dołączyć debugger Eclipse.

WSKAZÓWKA: aby użyć innego portu, dodaj TF_DEBUG_PORT=nnndo polecenia w kroku 1 powyżej. Możesz nawet używać tej opcji w środowisku produkcyjnym, jeśli chcesz zbadać tajemnicze błędy zawieszania się: zmień suspend=y na suspend=ntradefed.sh i zacznij od flagi 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, które wykonujesz w przypadku Eclipse:

  1. Uruchom tradefed.sh z flagą debugowania: TF_DEBUG=1 tradefed.sh
  2. Poczekaj, aż pojawi się prompt z JVM: Listening for transport dt_socket at address: 10088.
  3. Połącz jdb. Na przykład w przypadku croot uruchom:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Poczekaj na połączenie i zacznij debugować. Aby uzyskać więcej informacji, uruchom man jdb.

Sprawdzanie pokrycia kodu

  1. Zainstaluj wtyczkę Eclemma.
  2. Kliknij Help (Pomoc) > Install New Software (Zainstaluj nowe oprogramowanie) i wskaż kreatorowi: http://update.eclemma.org/
  3. Po zainstalowaniu wybierz opcję testu Coverage As > JUnit, aby przeprowadzić test pokrycia kodu.