Configurare Eclipse

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

  1. Esegui make una volta dalla riga di comando. Verranno create librerie esterne da cui dipendono i progetti riportati di seguito.
  2. Imposta la variabile classpath TRADEFED_ROOT in Window > Preferences > Java > Build Path> Classpath Variables e indirizzala alla radice dell'origine Tradefed
  3. Imposta la variabile di percorso TRADEFED_ROOT in Window > Preferences > General > Workspace > Linked Resources e indirizzala alla radice dell'origine di Tradefed
  4. 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
    
  5. (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.

  6. (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:

  1. Vai a Finestra > Preferenze > Java > Stile codice.
  2. In Formattatore, importa il file android-formatting.xml.
  3. In Organizza > Importazioni, importa il file android.importorder.

Rimuovi gli spazi vuoti finali

Per forzare Eclipse a rimuovere tutti gli spazi vuoti finali:

  1. Vai a Finestra > Preferenze -> Java -> Editor -> Azioni di salvataggio.
  2. Poi Altre azioni -> Configura -> Codice -> Scheda Organizzazione -> Formattatore.
  3. Seleziona Rimuovi spazi vuoti finali.
  4. 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:

  1. Avvia tradefed.sh con il flag di debug: TF_DEBUG=1 tradefed.sh
  2. 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 porta 10088.
  3. Esegui il collegamento con il debug remoto di Eclipse dal menu principale: seleziona Esegui > Configurazioni di debug….
  4. Nella finestra di dialogo popup, seleziona Applicazione Java remota dal menu a sinistra.
  5. Fai clic sull'icona Nuova configurazione di lancio nella barra delle azioni.
  6. Assegna un nome alla configurazione e seleziona tradefederation come progetto.
  7. Compila la porta utilizzando l'indirizzo fornito in precedenza.
  8. Passa alla scheda Origine e aggiungi i progetti tradefederation e google-tradefed al percorso di ricerca dell'origine.
  9. 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:

  1. Avvia tradefed.sh con il flag di debug: TF_DEBUG=1 tradefed.sh
  2. Attendi finché non viene visualizzato il prompt della JVM: Listening for transport dt_socket at address: 10088.
  3. Connetti jdb. Ad esempio, dall'esecuzione di croot:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Attendi la connessione e inizia a eseguire il debug. Esegui man jdb per ulteriore assistenza.

Esamina la copertura del codice

  1. Installa il plug-in Eclemma.
  2. Vai a Guida > Installa nuovo software e indica la procedura guidata a: http://update.eclemma.org/
  3. Una volta installata, seleziona l'opzione di test Copertura come > JUnit per eseguire un test di copertura del codice.