Olá, Devs Android! Se você já tentou automatizar testes de UI para seus aplicativos usando Espresso e UIAutomator, provavelmente já se deparou com a ferramenta uiautomatorviewer. Esta ferramenta é inestimável para entender e encontrar elementos da tela do app. No entanto, enfrentei um problema onde ela parou de funcionar. Neste artigo, vou guiá-los através dos passos que segui para resolver esse problema.
O problema
Ao tentar executar o uiautomatorviewer, me deparei com o seguinte erro:
![]()
Após muita pesquisa e tentativa e erro, descobri que a solução se resume a dois passos principais.
Passo 1: Alterar a versão do Java para 1.8
O primeiro passo é garantir que você esteja usando a versão 1.8 do Java. Mas, se você é como eu e trabalha em vários projetos com diferentes versões do Java, alternar entre elas pode ser uma dor de cabeça. Aqui é onde o jenv se torna útil.
Configurando o jenv:
- Instale o
jenvusando o Homebrew:
brew install jenv
- Adicione o caminho
jenve inicialize-o em seu shell (estou assumindo que você está usando zsh):
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(jenv init -)"' >> ~/.zshrc
- Recarregue o shell para aplicar as alterações:
source ~/.zshrc
Instalando e Definindo Java 8 com jenv:
- Instale o Java 8:
brew install openjdk@8
- Verifique as JVMs disponíveis no seu sistema:
/usr/libexec/java_home -V
Isto deverá mostrar as JVMs disponíveis, e você deverá encontrar uma linha semelhante a:
1.8.0_212, x86_64: "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
- Adicione o Java 8 ao
jenv:
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Ele deve confirmar com:
openjdk64-1.8.0.212 adicionado
1.8.0.212 adicionado
1.8 adicionado
- Defina a versão do Java no sistema para Java 8:
jenv global 1.8
- Verifique a versão do Java:
java -version
Agora, isso deve indicar que você está usando o Java 8.
E pronto! Você instalou e definiu o Java 8 como a versão padrão usando jenv.
Passo 2: Baixando o novo arquivo SWT
Após fazer a alteração na versão do Java, me deparei com um segundo erro:

O próximo passo é baixar uma versão específica de um arquivo SWT que reside em um diretório específico do Android SDK.
-
Baixar a versão 4.20 do
swt.jar: -
Extraia o swt.jar do arquivo baixado
- Dentro do arquivo zip existe um swt.jar.
-
Renomear o arquivo extraído:
- Mude o nome do
swt.jarbaixado paraswt2.jar.
- Mude o nome do
-
Copiar o arquivo renomeado:
- Mova o
swt2.jarpara o diretórioAndroid/sdk/tools/lib/x86_64/. - Importante: Não substitua ou delete o arquivo original.
- Mova o
-
Teste:
- Inicie o uiautomatorviewer para verificar se a atualização foi bem-sucedida.
Dica ao Iniciar o
uiautomatorviewer: Ao lançar ouiautomatorviewer, redimensione a janela.
Conclusão
Com essas duas alterações, consegui fazer o uiautomatorviewer funcionar perfeitamente novamente. Espero que este guia ajude outros desenvolvedores que enfrentam o mesmo problema. Se você tiver dúvidas ou sugestões, sinta-se à vontade para deixar um comentário abaixo!
Links

Top comments (0)