Per configurare Tradefed utilizzando Eclipse, segui questi passaggi.
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, puoi scaricare l'IDE Eclipse per sviluppatori Java da: eclipse.org/downloads
Creare progetti
- Esegui make una volta dalla riga di comando. Verranno create librerie esterne da cui dipendono i progetti riportati di seguito.
- Imposta la variabile classpath TRADEFED_ROOT in
Window > Preferences > Java > Build Path> Classpath Variables
e indirizzala alla radice dell'origine Tradefed - Imposta la variabile di percorso TRADEFED_ROOT in
Window > Preferences > General > Workspace > Linked Resources
e indirizzala alla radice dell'origine di 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
(Facoltativo) Se vuoi visualizzare il codice sorgente di
ddmlib
, allega il codice sorgente da un ramo di strumenti non raggruppati, ad esempio /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.(Facoltativo) Se vuoi caricare anche i progetti di test CTS, importa:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Formattazione automatica
NOTA: i file necessari si trovano in development/ide/eclipse
nell'albero delle origini della piattaforma completa. Pertanto, dovrai estrarre un ramo della piattaforma come
android-latest-release
per ottenere questi file:
/development/android16-release/ide/eclipse/
Utilizza i file delle preferenze in Eclipse per impostare automaticamente il formattatore sulla guida di stile di Android. Per farlo in Studio:
- Vai a Finestra > Preferenze > Java > Stile codice.
- In Formattatore, importa il file
android-formatting.xml
. - In Organizza > Importazioni, importa il file
android.importorder
.
Rimuovi gli spazi vuoti finali
Per forzare Eclipse a rimuovere tutti gli spazi vuoti finali:
- Vai a Finestra > Preferenze -> Java -> Editor -> Azioni di salvataggio.
- Poi Altre azioni -> Configura -> Codice -> Scheda Organizzazione -> Formattatore.
- Seleziona Rimuovi spazi vuoti finali.
- Fai clic su Applica e chiudi.
Controllare lo stile del codice
Quando invii un elenco di modifiche, viene eseguito un hook di pre-caricamento automatico per controllare il formato del codice: google-java-format
In questo modo, il codice viene formattato secondo lo standard comune.
Debug di Eclipse
Se vuoi eseguire il codice TF tramite un debugger in Eclipse, ti consigliamo di creare prima un test unitario per il codice in questione, in quanto questo sarà il modo più semplice e veloce per esercitare la funzionalità.
Per eseguire il debug di un test unità TF, fai clic con il tasto destro del mouse e seleziona Esegui debug come > Test JUnit.
Per eseguire il debug di un test funzionale TF, segui le istruzioni nella sezione precedente per l'esecuzione di un test funzionale, ma utilizza il menu Esegui > Configurazioni di debug.
Per eseguire il debug del programma TF stesso, quando esegui una configurazione, segui le istruzioni nella sezione precedente per eseguire un test funzionale, ma fornisci gli argomenti della riga di comando per la configurazione che vuoi eseguire nel passaggio 4. Quindi,
per eseguire il debug della configurazione "strumento", vai al menu Esegui > Configurazione di debug
e imposta la scheda Argomenti nella configurazione di debug di Eclipse su
-- package <package to run> instrument
.
Debug remoto con Eclipse
Segui questi passaggi per eseguire il debug in 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 viene visualizzato questo prompt dalla JVM:
Listening for transport dt_socket at address: 10088
. Ciò significa che la JVM è in attesa del collegamento del debugger alla porta10088
. - Esegui il collegamento con il debug remoto di Eclipse dal menu principale: seleziona Esegui > Configurazioni di debug….
- Nella finestra di dialogo popup, seleziona Applicazione Java remota dal menu a sinistra.
- Fai clic sull'icona Nuova configurazione di lancio nella barra delle azioni.
- Assegna un nome alla configurazione e seleziona tradefederation come progetto.
- Compila 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.
- Fai 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 eseguire il codice in modalità di debug, imposta un punto di interruzione in Eclipse e richiama
il comando Tradefed (ad es. run <test>
) nel terminale. Per eseguire il debug di qualsiasi elemento durante l'avvio di TF, puoi impostare prima il punto di interruzione e poi collegare il debugger Eclipse.
SUGGERIMENTO: per utilizzare una porta alternativa, aggiungi TF_DEBUG_PORT=nnn
al comando nel passaggio 1
sopra. Puoi utilizzare questa opzione anche nell'ambiente di produzione se hai bug di blocco misteriosi da esaminare: modifica suspend=y
in suspend=n
in tradefed.sh
e inizia con il flag di debug. La JVM non attenderà l'attacco del debugger, ma puoi farlo
in qualsiasi momento finché il processo è ancora in esecuzione.
Debug remoto tramite JDB
Per utilizzare il debugger Java JDB, segui 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 prompt della JVM:
Listening for transport dt_socket at address: 10088
. Connetti
jdb
. Ad esempio, dall'esecuzione di croot:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Attendi la connessione e inizia a eseguire il debug. Esegui
man jdb
per ulteriore assistenza.
Esamina la copertura del codice
- Installa il plug-in Eclemma.
- Vai a Guida > Installa nuovo software e indica la procedura guidata a: http://update.eclemma.org/
- Una volta installata, seleziona l'opzione di test Copertura come > JUnit per eseguire un test di copertura del codice.