Per configurare Tradefed utilizzando Eclipse, segui questi passaggi.
Crea un'area di lavoro separata per sviluppare Trade Federation, non riutilizzare un'area di lavoro già utilizzata 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. In questo modo verranno create librerie esterne in base ai progetti seguenti.
- Imposta la variabile classpath TRADEFED_ROOT in
Window > Preferences > Java > Build Path> Classpath Variables
e puntala alla radice di origine trasferita - Imposta la variabile di percorso TRADEFED_ROOT in
Window > Preferences > General > Workspace > Linked Resources
e impostala sulla radice della sorgente 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 vuoi visualizzare il codice sorgente
ddmlib
, collega il codice sorgente da un ramo degli strumenti non in bundle, ad esempio /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Se vuoi anche caricare i progetti di harness CTS, importa:
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 in development/ide/eclipse
nella struttura ad albero della fonte completa della piattaforma. Dovrai quindi eseguire il check-out di un ramo della piattaforma come main
per ottenere questi file:
/development/main/ide/eclipse/
Utilizza i file di preferenze in Eclipse per impostare automaticamente il formato in base alle linee 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 finali:
- Vai a Finestra > Preferenze -> Java -> Editor -> Salva azioni.
- Quindi Azioni aggiuntive -> Configura -> Codice > scheda Organizzazione -> Formattatore.
- Seleziona Rimuovi spazi finali.
- Fai clic su Applica e chiudi.
Controlla lo stile del codice
Quando invii un elenco di modifiche, viene eseguito un hook di precaricamento automatico per verificare il formato del codice: google-java-format
In questo modo, il codice viene formattato in base allo standard comune.
Debug 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 sarà il modo più semplice e rapido per testare la funzionalità.
Per eseguire il debug di un test di unità TF, fai clic con il tasto destro del mouse sul test e seleziona Esegui il debug come > JUnit test.
Per eseguire il debug di un test funzionale di TF, segui le istruzioni riportate nella sezione precedente per eseguire un test funzionale, ma utilizza il menu Esegui > Configurazioni di debug.
Per eseguire il debug del programma TF stesso, quando esegui qualsiasi configurazione, segui le istruzioni riportate 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. 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
Per eseguire il debug da remoto di una sessione di TradeFed avviata dalla riga di comandotradefed.sh
:
- Avvia tradefed.sh con il flag di debug:
TF_DEBUG=1 tradefed.sh
- Attendi di visualizzare questo prompt dalla JVM:
Listening for transport dt_socket at address: 10088
. Ciò significa che la JVM è in attesa che il debugger si colleghi 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 alla configurazione il nome che preferisci 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 connette al processo JVM in ascolto e il terminale in esecuzione
tradefed.sh
mostra il prompt tf>
.
Per eseguire il codice passo passo in modalità di debug, imposta un punto di interruzione in Eclipse e invoca il comando Tradefed (ad es. run <test>
) nel terminale. Per eseguire il debug di un elemento durante l'avvio di TF, puoi prima impostare il punto di interruzione e quindi collegare il debugger di Eclipse.
Suggerimento: per utilizzare una porta alternativa, aggiungi TF_DEBUG_PORT=nnn
al comando nel passaggio 1 riportato sopra. Puoi anche utilizzarlo nell'ambiente di produzione se hai bug di blocco misteriosi da esaminare: cambia 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 purché il processo sia ancora in esecuzione.
Debug remoto tramite JDB
Per utilizzare il JDB Java Debugger, segui i 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, da croot run:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Attendi la connessione ed esegui il debug. Esegui
man jdb
per ricevere ulteriore assistenza.
Esamina la copertura del codice
- Installa il plug-in Eclemma.
- Vai a Guida > Installa nuovo software e indica alla procedura guidata come destinazione: http://update.eclemma.org/
- Una volta installato, seleziona l'opzione di test Copertura come > JUnit per eseguire un'esecuzione della copertura del codice.