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
jenv
usando o Homebrew:
brew install jenv
- Adicione o caminho
jenv
e 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.jar
baixado paraswt2.jar
.
- Mude o nome do
-
Copiar o arquivo renomeado:
- Mova o
swt2.jar
para 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)