Eclipse einrichten

Führen Sie die folgenden Schritte aus, um Tradefed mit Eclipse einzurichten.

Erstellen Sie einen separaten Arbeitsbereich für die Entwicklung einer Handelsföderation. Verwenden Sie keinen Workspace bereits für die Entwicklung von Android-Geräten eingesetzt wird.

Bei Bedarf können Sie die Eclipse-IDE für Java-Entwickler hier herunterladen: eclipse.org/downloads

Projekte erstellen

  1. Führen Sie „make“ einmal in der Befehlszeile aus. Dadurch werden externe Bibliotheken erstellt. abhängig von den folgenden Projekten.
  2. Legen Sie die Klassenpfadvariable TRADEFED_ROOT in Window > Preferences > Java > Build Path> Classpath Variables fest und verweisen Sie auf das Stammverzeichnis Ihrer Tradefed-Quelle
  3. Legen Sie die Pfadvariable TRADEFED_ROOT in Window > Preferences > General > Workspace > Linked Resources fest und verweisen Sie sie auf das Stammverzeichnis Ihrer Tradefed-Quelle
  4. Verwenden Sie den Assistenten File > Import...-> General > Existing Projects into workspace", um diese Open-Source-Java-Projekte im folgenden Pfaden:

    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. Wenn Sie den Quellcode von ddmlib sehen möchten, hängen Sie den Quellcode an. aus einem nicht gebündelten Tools-Zweig, z. B. /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. Wenn Sie auch die CTS-Nutzungsprojekte laden möchten, importieren Sie optional Folgendes:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

Automatische Formatierung

HINWEIS: Die erforderlichen Dateien befinden sich auf der gesamten Plattform in development/ide/eclipse Quellstruktur. Sie müssen sich also einen Plattformzweig wie main ansehen um diese Dateien abzurufen: /development/main/ide/eclipse/

Legen Sie mithilfe von Präferenzdateien in Eclipse den Formatierer automatisch auf Android-Styleguide Gehe dazu in Studio so vor:

  1. Gehen Sie zu Fenster > Einstellungen > Java > Codestil.
  2. Importieren Sie unter Formatierer die Datei android-formatting.xml.
  3. Wählen Sie unter Organisieren > Imports importieren Sie die Datei android.importorder.

Leerzeichen am Zeilenende entfernen

So erzwingen Sie, dass Eclipse alle nachgestellten Leerzeichen entfernt:

  1. Gehen Sie zu Fenster > Einstellungen -> Java -> Editor -> Aktionen speichern.
  2. Wählen Sie dann Weitere Aktionen -> Konfigurieren -> Code > Tab wird organisiert -> Formatierer.
  3. Aktivieren Sie die Option Nachgestellten Leerraum entfernen.
  4. Klicken Sie auf Übernehmen und schließen.

Codestil prüfen

Wenn Sie eine Änderungsliste einreichen, wird ein automatischer Pre-Upload-Hook ausgeführt, um Ihre Codeformat: google-java-format

Dies hilft bei der Formatierung Ihres Codes im üblichen Standard.

Fehler in Eclipse beheben

Wenn Sie TF-Code über einen Debugger in Eclipse ausführen möchten, Erstellen Sie zunächst einen Unittest für den betreffenden Code, da dies der einfachste und der schnellste Möglichkeit, die Funktionalität zu üben.

Um Fehler in einem TF-Unittest zu beheben, klicken Sie einfach mit der rechten Maustaste darauf und wählen Sie Fehlerbehebung als > JUnit testen.

Folgen Sie der Anleitung im vorherigen Abschnitt, um Fehler in einem TF-Funktionstest zu beheben um einen Funktionstest durchzuführen, verwenden Sie aber die Option Ausführen > Fehler in Konfigurationen beheben.

Um Fehler im TF-Programm selbst zu beheben, folgen Sie beim Ausführen einer Konfiguration der im vorherigen Abschnitt zur Durchführung eines Funktionstests, aber stellen Sie die Befehlszeilenargumente für die Konfiguration, die Sie in Schritt 4 ausführen möchten. Also um Fehler am "Instrument" zu beheben rufen Sie die Seite Ausführen > Fehlerbehebungskonfiguration und legen Sie den Tab Arguments (Argumente) in der Fehlerbehebungskonfiguration von Eclipse auf -- package <package to run> instrument

Remote-Fehlerbehebung mit Eclipse

Führen Sie diese Schritte aus, um eine Remote-Fehlerbehebung für eine Tradefed-Sitzung durchzuführen, die gestartet wurde von tradefed.sh-Befehlszeile:

  1. Starte „trafed.sh“ mit dem Debug-Flag: TF_DEBUG=1 tradefed.sh
  2. Warten Sie, bis die folgende Eingabeaufforderung von der JVM angezeigt wird: Listening for transport dt_socket at address: 10088. Das bedeutet, dass die JVM darauf wartet, dass der Debugger ausgeführt wird. an Port 10088 anhängen.
  3. Anhängen über das Remote-Debugging von Eclipse über das Hauptmenü: Wählen Sie Ausführen > Fehler beheben Konfigurationen...
  4. Wählen Sie im Pop-up-Dialogfeld im linken Menü die Option Remote-Java-Anwendung aus.
  5. Klicken Sie in der Aktionsleiste auf das Symbol Neue Startkonfiguration.
  6. Benennen Sie die Konfiguration nach Bedarf und wählen Sie tradeföderation als das Projekt arbeiten.
  7. Füllen Sie den Port mit der zuvor angegebenen Adresse aus.
  8. Wechseln Sie zum Tab Quelle und fügen Sie die Projekte Handelsföderation und google-tradefed in den Source Lookup Path (Quell-Lookup-Pfad) ein.
  9. Klicken Sie auf Fehler beheben, um die Fehlerbehebungssitzung zu starten.

Der Debugger wird an den wartenden JVM-Prozess angehängt und das Terminal wird ausgeführt tradefed.sh zeigt die Aufforderung tf> an.

Um den Code im Debug-Modus durchzugehen, setzen Sie in Eclipse einen Haltepunkt und rufen Sie Ihren Tradefed-Befehl (z.B. run <test>) im Terminal. Um Fehler zu beheben können Sie beim Start von TF zuerst den Break-Point festlegen und dann die Eclipse- Debugger.

TIPP: Wenn Sie einen alternativen Port verwenden möchten, fügen Sie dem Befehl in Schritt 1 TF_DEBUG_PORT=nnn hinzu oben. Sie können dies sogar in der Produktionsumgebung verwenden, Hängen Sie Programmfehler auf, die untersucht werden sollen: Ändern Sie suspend=y in suspend=n in tradefed.sh und mit dem Debug-Flag. Die JVM wartet nicht auf das Anhängen des Debuggers, aber Sie können solange der Prozess noch läuft.

Remote-Fehlerbehebung mit JDB

Um den Java Debugger JDB zu verwenden, führen Sie die Schritte aus, die denen für Eclipse ähneln:

  1. Starten Sie tradefed.sh mit dem Debug-Flag: TF_DEBUG=1 tradefed.sh
  2. Warten Sie, bis die Eingabeaufforderung von der JVM angezeigt wird: Listening for transport dt_socket at address: 10088.
  3. Verbinden Sie jdb. Führen Sie beispielsweise mit croot folgenden Befehl aus:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Warten Sie, bis die Verbindung hergestellt ist, und beheben Sie den Fehler. Führen Sie man jdb aus, um weitere Hilfe zu erhalten.

Codeabdeckung untersuchen

  1. Installieren Sie das Eclemma-Plug-in.
  2. Rufen Sie Hilfe > Install New Software (Neue Software installieren) und verweisen Sie mit dem Assistenten auf Folgendes: http://update.eclemma.org/de/
  3. Wählen Sie nach der Installation die Option Abdeckung als > JUnit-Testoption, um eine Codeabdeckungsausführung ausgeführt wird.