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
- Führen Sie „make“ einmal in der Befehlszeile aus. Dadurch werden externe Bibliotheken erstellt. abhängig von den folgenden Projekten.
- Legen Sie die Klassenpfadvariable TRADEFED_ROOT in
Window > Preferences > Java > Build Path> Classpath Variables
fest und verweisen Sie auf das Stammverzeichnis Ihrer Tradefed-Quelle - Legen Sie die Pfadvariable TRADEFED_ROOT in
Window > Preferences > General > Workspace > Linked Resources
fest und verweisen Sie sie auf das Stammverzeichnis Ihrer Tradefed-Quelle 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
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.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/
Verwenden Sie bevorzugte Dateien in Eclipse, um den Formatierer automatisch auf die Android-Styleguide Gehe dazu in Studio so vor:
- Gehen Sie zu Fenster > Einstellungen > Java > Codestil.
- Importieren Sie unter Formatierer die Datei
android-formatting.xml
. - 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:
- Gehen Sie zu Fenster > Einstellungen -> Java -> Editor -> Aktionen speichern.
- Wählen Sie dann Weitere Aktionen -> Konfigurieren -> Code > Tab wird organisiert -> Formatierer.
- Aktivieren Sie die Option Nachgestellten Leerraum entfernen.
- 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.
Eclipse-Fehler 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 schnellsten 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 einer Tradefed-Sitzung durchzuführen, die gestartet wurde von
tradefed.sh
-Befehlszeile:
- Starte „trafed.sh“ mit dem Debug-Flag:
TF_DEBUG=1 tradefed.sh
- 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 Port10088
anhängen. - Anhängen über das Remote-Debugging von Eclipse über das Hauptmenü: Wählen Sie Ausführen > Fehler beheben Konfigurationen...
- Wählen Sie im Pop-up-Dialogfeld im linken Menü die Option Remote-Java-Anwendung aus.
- Klicken Sie in der Aktionsleiste auf das Symbol Neue Startkonfiguration.
- Benennen Sie die Konfiguration nach Bedarf und wählen Sie tradeföderation als das Projekt arbeiten.
- Füllen Sie den Port mit der zuvor angegebenen Adresse aus.
- 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.
- 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 Ihren 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 Breakpoint setzen 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 darauf, dass der Debugger angehängt wird, 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:
- Starten Sie
tradefed.sh
mit dem Debug-Flag:TF_DEBUG=1 tradefed.sh
- Warten Sie, bis die Eingabeaufforderung von der JVM angezeigt wird:
Listening for transport dt_socket at address: 10088
. 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
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
- Installieren Sie das Eclemma-Plug-in.
- Rufen Sie Hilfe > Install New Software (Neue Software installieren) und verweisen Sie mit dem Assistenten auf Folgendes: http://update.eclemma.org/de/
- Wählen Sie nach der Installation die Option Abdeckung als > JUnit-Testoption, um eine Codeabdeckungsausführung ausgeführt wird.