Configura Eclipse

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

  1. Esegui make una volta dalla riga di comando. In questo modo verranno create librerie esterne in base ai progetti seguenti.
  2. Imposta la variabile classpath TRADEFED_ROOT in Window > Preferences > Java > Build Path> Classpath Variables e puntala alla radice di origine trasferita
  3. Imposta la variabile di percorso TRADEFED_ROOT in Window > Preferences > General > Workspace > Linked Resources e impostala sulla radice della sorgente 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. 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.

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

  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 finali:

  1. Vai a Finestra > Preferenze -> Java -> Editor -> Salva azioni.
  2. Quindi Azioni aggiuntive -> Configura -> Codice > scheda Organizzazione -> Formattatore.
  3. Seleziona Rimuovi spazi finali.
  4. 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:

  1. Avvia tradefed.sh con il flag di debug: TF_DEBUG=1 tradefed.sh
  2. 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 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 alla configurazione il nome che preferisci 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 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:

  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, da croot run:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Attendi la connessione ed esegui il debug. Esegui man jdb per ricevere ulteriore assistenza.

Esamina la copertura del codice

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