Siga estas etapas para configurar o Tradefed usando o Eclipse.
Crie um espaço de trabalho separado para desenvolver o Trade Federation. Não reutilize um espaço de trabalho já usado para o desenvolvimento de dispositivos Android.
Se necessário, faça o download do Eclipse IDE para desenvolvedores Java em: eclipse.org/downloads
Criar projetos
- Execute o comando "make" uma vez na linha de comando. Isso vai criar bibliotecas externas de que os projetos abaixo dependem.
- Defina a variável de classpath TRADEFED_ROOT em
Window > Preferences > Java > Build Path> Classpath Variables
e aponte para a raiz de origem do tradefed. - Defina a variável de caminho TRADEFED_ROOT em
Window > Preferences > General > Workspace > Linked Resources
e aponte para a raiz da fonte do Tradefed. Use o assistente
File > Import...-> General > Existing Projects into workspace"
para importar esses projetos Java de código aberto nos seguintes caminhos: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
Se quiser ver o código-fonte do
ddmlib
, anexe o código-fonte de uma ramificação de ferramentas não agrupadas, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java.Se quiser que os projetos de plataforma de teste do CTS também sejam carregados, importe:
test/suite_harness/common/util test/suite_harness/common/host-side/util test/suite_harness/common/host-side/tradefed
Formatação automática
OBSERVAÇÃO: os arquivos necessários estão em development/ide/eclipse
na árvore de origem completa da plataforma. Portanto, você precisará conferir uma ramificação da plataforma, como
android-latest-release
, para receber estes arquivos:
/development/android16-release/ide/eclipse/
Use arquivos de preferências no Eclipse para definir automaticamente o formatador de acordo com o guia de estilo do Android. Para fazer isso no Studio:
- Acesse Window > Preferences > Java > Code Style.
- Em Formatter, importe o arquivo
android-formatting.xml
. - Em Organizar > Importações, importe o arquivo
android.importorder
.
Remover espaços em branco à direita
Para forçar o Eclipse a remover todos os espaços em branco à direita:
- Acesse Window > Preferences -> Java -> Editor -> Save Actions.
- Em seguida, Ações adicionais -> Configurar -> Código -> guia "Organizar" -> Formatador.
- Marque Remover espaços em branco à direita.
- Clique em Aplicar e fechar.
Verificar estilo de código
Ao enviar uma lista de mudanças, um hook automático de pré-upload será executado para verificar o formato do seu
código: google-java-format
Isso ajuda a formatar seu código de acordo com o padrão comum.
Depurar o Eclipse
Se você quiser executar o código do TF por um depurador no Eclipse, recomendamos que primeiro crie um teste de unidade para o código em questão, já que essa será a maneira mais simples e rápida de exercer a funcionalidade.
Para depurar um teste de unidade do TF, clique com o botão direito do mouse nele e selecione Debug As > JUnit test.
Para depurar um teste funcional do TF, siga as instruções na seção anterior para executar um teste funcional, mas use o menu Executar > Configurações de depuração.
Para depurar o próprio programa do TF ao executar qualquer configuração, siga as
instruções na seção anterior para executar um teste funcional, mas forneça
os argumentos de linha de comando para a configuração que você quer executar na etapa 4. Para depurar a configuração "instrument", acesse o menu Run > Debug configuration e defina a guia Arguments na configuração de depuração do Eclipse como -- package <package to run> instrument
.
Depuração remota com o Eclipse
Siga estas etapas para depurar remotamente uma sessão do tradefed iniciada na
linha de comando tradefed.sh
:
- Inicie o tradefed.sh com a flag de depuração:
TF_DEBUG=1 tradefed.sh
- Aguarde até ver este prompt da JVM:
Listening for transport dt_socket at address: 10088
. Isso significa que a JVM está aguardando o depurador para anexar na porta10088
. - Anexe com a depuração remota do Eclipse no menu principal: selecione Run > Debug Configurations....
- Na caixa de diálogo pop-up, selecione Aplicativo Java remoto no menu à esquerda.
- Clique no ícone New launch configuration na barra de ações.
- Dê o nome que quiser à configuração e selecione tradefederation como o projeto.
- Preencha a porta usando o endereço fornecido anteriormente.
- Mude para a guia Origem e adicione os projetos tradefederation e google-tradefed ao Caminho de pesquisa de origem.
- Clique em Depurar para iniciar a sessão de depuração.
O depurador se conecta ao processo da JVM de escuta, e o terminal que executa
tradefed.sh
mostra o prompt tf>
.
Para avançar o código no modo de depuração, defina um ponto de interrupção no Eclipse e invoque
o comando Tradefed (por exemplo, run <test>
) no terminal. Para depurar qualquer coisa
durante a inicialização do TF, defina o ponto de interrupção primeiro e anexe o depurador
do Eclipse.
DICA: para usar uma porta alternativa, adicione TF_DEBUG_PORT=nnn
ao comando na etapa 1 acima. Você pode até usar isso em um ambiente de produção se tiver bugs de
travamento misteriosos para investigar: mude suspend=y
para suspend=n
em tradefed.sh
e
comece com a flag de depuração. A JVM não vai esperar a conexão do depurador, mas você pode fazer isso a qualquer momento enquanto o processo estiver em execução.
Depuração remota usando JDB
Para usar o depurador JDB do Java, siga etapas semelhantes às do Eclipse:
- Inicie
tradefed.sh
com a flag de depuração:TF_DEBUG=1 tradefed.sh
- Aguarde até ver o prompt da JVM:
Listening for transport dt_socket at address: 10088
. Conectar
jdb
. Por exemplo, de croot run:jdb -attach 10088 \ -sourcepath tools/tradefederation/core/src:vendor/google_tradefederation/core/src
Aguarde a conexão e depure! Execute
man jdb
para receber mais ajuda.
Examinar a cobertura de código
- Instale o plug-in Eclemma.
- Acesse Ajuda > Instalar novo software e direcione o assistente para: http://update.eclemma.org/
- Depois de instalado, selecione a opção de teste Cobertura como > JUnit para realizar uma execução de cobertura de código.