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á empregado para o desenvolvimento de dispositivos Android.
Se necessário, você pode baixar o Eclipse IDE para desenvolvedores Java em: eclipse.org/downloads
Criar projetos
- Execute make uma vez na linha de comando. Isso criará bibliotecas externas dependentes dos projetos abaixo.
- Defina a variável de caminho de classe TRADEFED_ROOT em
Window > Preferences > Java > Build Path> Classpath Variables
e aponte-a para sua raiz de origem do tradefed - Defina a variável de caminho TRADEFED_ROOT em
Window > Preferences > General > Workspace > Linked Resources
e aponte-a para sua raiz de origem do tradefed Use o assistente
File > Import...-> General > Existing Projects into workspace"
para trazer 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
Opcionalmente, se você quiser ver o código-fonte
ddmlib
, anexe o código-fonte de uma ramificação de ferramentas desagrupada, como /platform/tools/base/tools_r22/ddmlib/src/main/java/com/android/ddmlib/IDevice.java .Opcionalmente, se você também deseja que os projetos de chicote CTS 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 ficam dentro de development/ide/eclipse
na árvore de origem da plataforma completa. Portanto, você precisará verificar uma ramificação da plataforma, como master
, para obter esses arquivos: /development/master/ide/eclipse/
Use arquivos de preferência no Eclipse para definir automaticamente o formatador para o guia de estilo do Android. Para fazer isso no Studio:
- Vá para Window > Preferences > Java > Code Style .
- Em Formatador , importe o arquivo
android-formatting.xml
. - Em Organize > Imports , 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:
- Vá para Window > Preferences -> Java -> Editor -> Save Actions .
- Em seguida, Ações Adicionais -> Configurar -> Código> guia Organização -> Formatador .
- Marque Remover espaço em branco à direita .
- Clique em Aplicar e Fechar .
Verifique o estilo do código
Ao enviar uma lista de alterações, um gancho de pré-carregamento automático será executado para verificar o formato do seu código: google-java-format
Isso ajuda a formatar seu código para o padrão comum.
Depurar Eclipse
Se você deseja executar o código do TF por meio de um depurador no Eclipse, é recomendável primeiro criar um teste de unidade para o código em questão, pois essa será a maneira mais simples e rápida de exercitar a funcionalidade.
Para depurar um teste de unidade TF, basta clicar com o botão direito nele e selecionar Depurar como > Teste JUnit .
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 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 deseja executar na etapa 4. Para depurar a configuração do 'instrumento', vá para o menu Run > Debug configuration e defina a guia Arguments na configuração de depuração do Eclipse para -- package <package to run> instrument
.
Depuração remota com Eclipse
Siga estas etapas para depurar remotamente uma sessão tradefed iniciada na linha de comando tradefed.sh
:
- Inicie tradefed.sh com o sinalizador 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 a conexão do depurador na porta10088
. - Anexe com a depuração remota do Eclipse no menu principal: Selecione Executar > Configurações de depuração... .
- Na caixa de diálogo pop-up, selecione Remote Java Application no menu à esquerda.
- Clique no ícone Nova configuração de inicialização na barra de ação.
- Nomeie a configuração como desejar e selecione tradefederation como o projeto.
- Preencha a porta usando o endereço fornecido anteriormente.
- Alterne para a guia Origem e adicione os projetos tradefederation e google-tradefed ao Source Lookup Path .
- Clique em Depurar para iniciar a sessão de depuração.
O depurador se conecta ao processo JVM de escuta e o terminal executando tradefed.sh
mostra o prompt tf>
.
Para percorrer seu código no modo de depuração, defina um ponto de interrupção no Eclipse e invoque seu comando Tradefed (ou seja run <test>
) no terminal. Para depurar qualquer coisa durante a inicialização do TF, você pode definir o ponto de interrupção primeiro e depois anexar 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 no ambiente de produção se tiver bugs de travamento misteriosos para investigar: altere suspend=y
para suspend=n
em tradefed.sh
e comece com o sinalizador de depuração. A JVM não aguardará a anexação do depurador, mas você poderá fazer isso a qualquer momento, desde que o processo ainda esteja em execução.
Depuração remota usando JDB
Para usar o Java Debugger JDB, siga as etapas semelhantes às do Eclipse:
- Inicie
tradefed.sh
com o sinalizador de depuração:TF_DEBUG=1 tradefed.sh
- Aguarde até ver o prompt da JVM:
Listening for transport dt_socket at address: 10088
. Conecte
jdb
. Por exemplo, do 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 obter mais ajuda.
Examinar a cobertura do código
- Instale o plugin Eclemma .
- Vá para Ajuda > Instalar novo software e aponte o assistente para: http://update.eclemma.org/
- Uma vez instalado, selecione a opção Coverage As > JUnit test para realizar uma execução de cobertura de código.