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
- 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.
- Configura la variable de ruta de clase TRADEFED_ROOT en
Window > Preferences > Java > Build Path> Classpath Variablesy dirígela a la raíz de la fuente de tradefed. - Configura la variable de ruta TRADEFED_ROOT en
Window > Preferences > General > Workspace > Linked Resourcesy dirígela a la raíz de la fuente de tradefed. 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/hostDe 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.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:
- Ve a Window > Preferences > Java > Code Style.
- En Formatter, importa el archivo
android-formatting.xml. - 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:
- Ve a Window > Preferences -> Java -> Editor -> Save Actions.
- Luego, Additional Actions -> Configure -> Code > Organizing tab -> Formatter.
- Marca Remove Trailing Whitespace.
- 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:
- Inicia tradefed.sh con el indicador de depuración:
TF_DEBUG=1 tradefed.sh. - Espera hasta que veas este mensaje de la JVM:
Listening for transport dt_socket at address: 10088Esto significa que la JVM está esperando que el depurador se conecte en el puerto10088. - Adjunta con la depuración remota de Eclipse desde el menú principal: Selecciona Run > Debug Configurations....
- En el diálogo emergente, selecciona Remote Java Application en el menú de la izquierda.
- Haz clic en el ícono New launch configuration en la barra de acciones.
- Asigna el nombre que desees a la configuración y selecciona tradefederation como el proyecto.
- Propaga el puerto con la dirección proporcionada anteriormente.
- Cambia a la pestaña Source y agrega los proyectos tradefederation y google-tradefed a Source Lookup Path.
- 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:
- Inicia
tradefed.shcon el indicador de depuración:TF_DEBUG=1 tradefed.sh. - Espera hasta que veas el mensaje de la JVM:
Listening for transport dt_socket at address: 10088. Conecta
jdb. Por ejemplo, desde croot, ejecuta lo siguiente:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/srcEspera la conexión y depura. Ejecuta
man jdbpara obtener más ayuda.
Examina la cobertura del código
- Instala el complemento Eclemma.
- Ve a Help > Install New Software y dirige el asistente a: http://update.eclemma.org/.
- Una vez instalado, selecciona la opción de prueba Coverage As > JUnit para realizar una ejecución de cobertura de código.