Segui questi passaggi per configurare Tradefed utilizzando Eclipse.
Crea uno spazio di lavoro separato per sviluppare Trade Federation, non riutilizzare uno spazio di lavoro già utilizzato per lo sviluppo di dispositivi Android.
Se necessario, è possibile scaricare l' IDE Eclipse per gli sviluppatori Java da: eclipse.org/downloads
Creare progetti
- Esegui make una volta dalla riga di comando. Questo creerà librerie esterne dipendenti dai progetti seguenti.
- Imposta la variabile classpath TRADEFED_ROOT in
Window > Preferences > Java > Build Path> Classpath Variables
e indirizzala alla root di origine tradefed - Imposta la variabile di percorso TRADEFED_ROOT in
Window > Preferences > General > Workspace > Linked Resources
e indirizzala alla root di origine tradefed Utilizza la procedura guidata
File > Import...-> General > Existing Projects into workspace"
per importare questi progetti Java open source nei seguenti percorsi: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
Facoltativamente, se desideri visualizzare il codice sorgente
ddmlib
, allega il codice sorgente da un ramo di strumenti disaggregati, ad esempio /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .Facoltativamente, se si desidera caricare anche i progetti di cablaggio CTS, importare:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Formato automatico
NOTA: i file richiesti si trovano all'interno di development/ide/eclipse
nell'albero dei sorgenti dell'intera piattaforma. Quindi dovrai controllare un ramo della piattaforma come main
per ottenere questi file: /development/main/ide/eclipse/
Utilizza i file delle preferenze in Eclipse per impostare automaticamente il formattatore sulla guida di stile Android. Per farlo in Studio:
- Vai a Finestra > Preferenze > Java > Stile codice .
- In Formatter importare il file
android-formatting.xml
. - In Organizza > Importazioni , importa il file
android.importorder
.
Rimuovi gli spazi bianchi finali
Per forzare Eclipse a rimuovere tutti gli spazi bianchi finali:
- Vai a Finestra > Preferenze -> Java -> Editor -> Salva azioni .
- Quindi Azioni aggiuntive -> Configura -> Codice > Scheda Organizzazione -> Formatter .
- Seleziona Rimuovi gli spazi bianchi finali .
- Fare clic su Applica e chiudi .
Controlla lo stile del codice
Quando invii un elenco di modifiche, verrà eseguito un hook di precaricamento automatico per verificare il formato del codice: google-java-format
Ciò aiuta a formattare il codice secondo lo standard comune.
Eseguire il debug di Eclipse
Se desideri eseguire il codice TF tramite un debugger in Eclipse, ti consigliamo di creare prima uno unit test per il codice in questione poiché questo sarà il modo più semplice e veloce per esercitare la funzionalità.
Per eseguire il debug di uno unit test TF, è sufficiente fare clic con il pulsante destro del mouse su di esso e selezionare Debug As > JUnit test .
Per eseguire il debug di un test funzionale TF, seguire le istruzioni nella sezione precedente per l'esecuzione di un test funzionale ma utilizzare il menu Esegui > Configurazioni debug .
Per eseguire il debug del programma TF stesso, quando si esegue qualsiasi configurazione, seguire le istruzioni nella sezione precedente per eseguire un test funzionale ma fornire gli argomenti della riga di comando per la configurazione che si desidera eseguire nel passaggio 4. Quindi, per eseguire il debug della configurazione dello "strumento", andare al menu Esegui > Configurazione debug e impostare la scheda Argomenti nella configurazione debug di Eclipse su -- package <package to run> instrument
.
Debug remoto con Eclipse
Segui questi passaggi per eseguire il debug remoto di una sessione tradefed avviata dalla riga di comando tradefed.sh
:
- Avvia tradefed.sh con il flag di debug:
TF_DEBUG=1 tradefed.sh
- Attendi finché non vedi questo messaggio dalla JVM:
Listening for transport dt_socket at address: 10088
Ciò significa che la JVM è in attesa che il debugger si colleghi alla porta10088
. - Collegalo con il debug remoto di Eclipse dal menu principale: seleziona Esegui > Configurazioni debug... .
- Nella finestra di dialogo popup, seleziona Applicazione Java remota dal menu a sinistra.
- Fare clic sull'icona Nuova configurazione di avvio sulla barra delle azioni.
- Assegna un nome alla configurazione come desideri e seleziona tradefederation come progetto.
- Popolare la porta utilizzando l'indirizzo fornito in precedenza.
- Passa alla scheda Origine e aggiungi i progetti tradefederation e google-tradefed al percorso di ricerca dell'origine .
- Fare clic su Debug per avviare la sessione di debug.
Il debugger si collega al processo JVM in ascolto e il terminale che esegue tradefed.sh
mostra il prompt tf>
.
Per scorrere il codice in modalità debug, imposta un punto di interruzione in Eclipse e richiama il comando Tradefed (ovvero run <test>
) nel terminale. Per eseguire il debug di qualsiasi cosa durante l'avvio di TF, è possibile impostare prima il punto di interruzione e quindi collegare il debugger Eclipse.
SUGGERIMENTO: per utilizzare una porta alternativa, aggiungere TF_DEBUG_PORT=nnn
al comando nel passaggio 1 sopra. Puoi anche usarlo in un ambiente di produzione se hai misteriosi bug di blocco su cui indagare: cambia suspend=y
in suspend=n
in tradefed.sh
e inizia con il flag di debug. La JVM non attenderà il collegamento del debugger, ma puoi farlo in qualsiasi momento purché il processo sia ancora in esecuzione.
Debug remoto tramite JDB
Per utilizzare Java Debugger JDB, seguire passaggi simili a quelli per Eclipse:
- Avvia
tradefed.sh
con il flag di debug:TF_DEBUG=1 tradefed.sh
- Attendi finché non viene visualizzato il messaggio da JVM:
Listening for transport dt_socket at address: 10088
. Connetti
jdb
. Ad esempio, da croot esegui:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Attendi la connessione ed esegui il debug! Esegui
man jdb
per ulteriore aiuto.
Esaminare la copertura del codice
- Installa il plugin Eclemma .
- Vai su Aiuto > Installa nuovo software e indirizza la procedura guidata a: http://update.eclemma.org/
- Una volta installato, selezionare l'opzione Coverage As > JUnit test per eseguire un'esecuzione del code cover.