Sigue estos pasos para configurar Tradefed con Eclipse.
Crea un espacio de trabajo independiente para desarrollar Trade Federation. No reutilices 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.
- Establece la variable de ruta de acceso a la clase TRADEFED_ROOT en
Window > Preferences > Java > Build Path> Classpath Variables
y haz que apunte a la raíz de la fuente de Tradefed. - Configura la variable de ruta de acceso TRADEFED_ROOT en
Window > Preferences > General > Workspace > Linked Resources
y dirígela a la raíz de la fuente de tradefed. Usa el asistente de
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
De manera opcional, si quieres ver el código fuente de
ddmlib
, adjunta el código fuente de una rama de herramientas no agrupada, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.De manera opcional, si también quieres 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
dentro del árbol de código fuente completo de la plataforma. Por lo tanto, deberás extraer una rama de la plataforma, como android-latest-release
, para obtener estos archivos:
/development/android16-release/ide/eclipse/
Usa archivos de preferencias en Eclipse para configurar automáticamente el formateador según la guía de estilo de Android. Para hacerlo en Studio, sigue estos pasos:
- Ve a Window > Preferences > Java > Code Style.
- En Formatter, importa el archivo
android-formatting.xml
. - En Organizar > Importaciones, importa el archivo
android.importorder
.
Quita los espacios en blanco finales
Para forzar 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 la casilla de verificación Remove Trailing Whitespace.
- Haz clic en Aplicar y cerrar.
Verificar el estilo del código
Cuando envíes una lista de cambios, se ejecutará un gancho automático previo a la carga para verificar el formato de tu código: google-java-format
Esto ayuda a dar formato a 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 de unidades para el código en cuestión, ya que esta será la forma más sencilla y rápida de ejercitar la funcionalidad.
Para depurar una prueba unitaria de TF, simplemente haz clic con el botón derecho en ella y selecciona Depurar como > Prueba de JUnit.
Para depurar una prueba funcional de TF, sigue las instrucciones de la sección anterior para ejecutar una prueba funcional, pero usa el menú Ejecutar > Configuraciones de depuración.
Para depurar el programa de TF, 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 de tradefed.sh
:
- Inicia tradefed.sh con la marca de depuración:
TF_DEBUG=1 tradefed.sh
- 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 al puerto10088
. - Adjunta con la depuración remota de Eclipse desde el menú principal: Selecciona Ejecutar > Configuración de depuración….
- 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.
- Completa el puerto con la dirección que se proporcionó antes.
- Cambia a la pestaña Source y agrega los proyectos tradefederation y google-tradefed a la Ruta de búsqueda de origen.
- Haz clic en Depurar para iniciar la sesión de depuración.
El depurador se adjunta al proceso de JVM en espera, y la terminal que ejecuta tradefed.sh
muestra el mensaje tf>
.
Para revisar el código línea a línea en el modo de depuración, establece un punto de interrupción en Eclipse y, luego, invoca tu comando de Tradefed (es decir, run <test>
) en la terminal. Para depurar cualquier elemento durante el inicio de TF, primero puedes establecer el punto de interrupción y, luego, adjuntar el depurador de Eclipse.
SUGERENCIA: Para usar un puerto alternativo, agrega TF_DEBUG_PORT=nnn
al comando del 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 la marca 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.sh
con la marca de depuración:TF_DEBUG=1 tradefed.sh
- Espera hasta que veas el mensaje de JVM:
Listening for transport dt_socket at address: 10088
. Conecta
jdb
. Por ejemplo, desde la ejecución de croot:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Espera la conexión y depura. Ejecuta
man jdb
para obtener más ayuda.
Cómo examinar la cobertura de código
- Instala el complemento de 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.