Configura Eclipse

Sigue estos pasos para configurar Tradefed con Eclipse.

Crea un espacio de trabajo independiente para desarrollar Trade Federation. No vuelvas a usar un espacio de trabajo que ya se haya empleado para el desarrollo de dispositivos Android.

Si es necesario, puedes descargar el IDE de Eclipse para desarrolladores de Java desde: eclipse.org/downloads

Crea proyectos

  1. Ejecuta make una vez desde la línea de comandos. Esto compilará las bibliotecas externas de las que dependen los proyectos que se indican a continuación.
  2. Configura la variable de ruta de clase TRADEFED_ROOT en Window > Preferences > Java > Build Path> Classpath Variables y dirígela a la raíz de la fuente de tradefed.
  3. Configura la variable de ruta TRADEFED_ROOT en Window > Preferences > General > Workspace > Linked Resources y dirígela a la raíz de la fuente de tradefed.
  4. Usa el asistente File > Import...-> General > Existing Projects into workspace" para incorporar estos proyectos de Java de código abierto en las siguientes rutas de acceso:

    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. De manera opcional, si deseas ver el código fuente de ddmlib, adjunta el código fuente de una rama de herramientas no agrupadas, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.

  6. De manera opcional, si también deseas que se carguen los proyectos de arnés de CTS, importa lo siguiente:

    test/suite_harness/common/util
    test/suite_harness/common/host-side/util
    test/suite_harness/common/host-side/tradefed
    

Formato automático

NOTA: Los archivos necesarios se encuentran en development/ide/eclipse en el árbol de origen de la plataforma completa. Por lo tanto, deberás extraer una rama de la plataforma, como android-latest-release para obtener estos archivos: /development/android17-release/ide/eclipse/

Usa archivos de preferencias en Eclipse para configurar automáticamente el formateador en la guía de estilo de Android. Para hacer esto en Studio:

  1. Ve a Window > Preferences > Java > Code Style.
  2. En Formatter, importa el archivo android-formatting.xml.
  3. En Organize > Imports, importa el archivo android.importorder.

Quita los espacios en blanco finales

Para obligar a Eclipse a quitar todos los espacios en blanco finales, haz lo siguiente:

  1. Ve a Window > Preferences -> Java -> Editor -> Save Actions.
  2. Luego, Additional Actions -> Configure -> Code > Organizing tab -> Formatter.
  3. Marca Remove Trailing Whitespace.
  4. Haz clic en Apply and Close.

Verifica el estilo de código

Cuando envíes una lista de cambios, se ejecutará un hook automático de carga previa para verificar el formato de tu código: google-java-format.

Esto ayuda a formatear tu código según el estándar común.

Depura Eclipse

Si deseas ejecutar código de TF a través de un depurador en Eclipse, te recomendamos que primero crees una prueba unitaria para el código en cuestión, ya que esta será la forma más sencilla y rápida de ejercer la funcionalidad.

Para depurar una prueba unitaria de TF, haz clic con el botón derecho en ella y selecciona Debug As > JUnit test.

Para depurar una prueba funcional de TF, sigue las instrucciones de la sección anterior para ejecutar una prueba funcional, pero usa el menú Run > Debug configurations.

Para depurar el programa de TF en sí, cuando ejecutes cualquier configuración, sigue las instrucciones de la sección anterior para ejecutar una prueba funcional, pero proporciona los argumentos de la línea de comandos para la configuración que deseas ejecutar en el paso 4. Por lo tanto, para depurar la configuración "instrument", ve al menú Run > Debug configuration y configura la pestaña Arguments en la configuración de depuración de Eclipse como -- package <package to run> instrument.

Depuración remota con Eclipse

Sigue estos pasos para depurar de forma remota una sesión de tradefed iniciada desde la línea de comandos tradefed.sh:

  1. Inicia tradefed.sh con el indicador de depuración: TF_DEBUG=1 tradefed.sh.
  2. Espera hasta que veas este mensaje de la JVM: Listening for transport dt_socket at address: 10088 Esto significa que la JVM está esperando que el depurador se conecte en el puerto 10088.
  3. Adjunta con la depuración remota de Eclipse desde el menú principal: Selecciona Run > Debug Configurations....
  4. En el diálogo emergente, selecciona Remote Java Application en el menú de la izquierda.
  5. Haz clic en el ícono New launch configuration en la barra de acciones.
  6. Asigna el nombre que desees a la configuración y selecciona tradefederation como el proyecto.
  7. Propaga el puerto con la dirección proporcionada anteriormente.
  8. Cambia a la pestaña Source y agrega los proyectos tradefederation y google-tradefed a Source Lookup Path.
  9. Haz clic en Debug para iniciar la sesión de depuración.

El depurador se adjunta al proceso de JVM en escucha, y la terminal que ejecuta tradefed.sh muestra el tf> mensaje.

Para recorrer el código en modo de depuración, establece un punto de interrupción en Eclipse y llama a tu comando de Tradefed (es decir, run <test>) en la terminal. Para depurar cualquier elemento durante el inicio de TF, puedes establecer el punto de interrupción primero y, luego, adjuntar el depurador de Eclipse.

SUGERENCIA: Para usar un puerto alternativo, agrega TF_DEBUG_PORT=nnn al comando en el paso 1 anterior. Incluso puedes usarlo en el entorno de producción si tienes errores de bloqueo misteriosos para investigar: cambia suspend=y a suspend=n en tradefed.sh y comienza con el indicador de depuración. La JVM no esperará a que se adjunte el depurador, pero puedes hacerlo en cualquier momento, siempre que el proceso siga en ejecución.

Depuración remota con JDB

Para usar el depurador de Java JDB, sigue pasos similares a los de Eclipse:

  1. Inicia tradefed.sh con el indicador de depuración: TF_DEBUG=1 tradefed.sh.
  2. Espera hasta que veas el mensaje de la JVM: Listening for transport dt_socket at address: 10088.
  3. Conecta jdb. Por ejemplo, desde croot, ejecuta lo siguiente:

    jdb -attach 10088 \
        -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
    
  4. Espera la conexión y depura. Ejecuta man jdb para obtener más ayuda.

Examina la cobertura del código

  1. Instala el complemento Eclemma.
  2. Ve a Help > Install New Software y dirige el asistente a: http://update.eclemma.org/.
  3. Una vez instalado, selecciona la opción de prueba Coverage As > JUnit para realizar una ejecución de cobertura de código.