Martin Sch
Posted on October 25, 2023
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
Posted on October 25, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.