DEV Community

Cover image for Como rodar um projeto Expo por um Virtual Device no WSL
Victor Hugo for Devhat

Posted on

Como rodar um projeto Expo por um Virtual Device no WSL

Para seguir com esse artigo, você precisará concluir o ultimo artigo ensinando a configurar o WSL para o Expo

1. INSTALANDO O WSA

  • Agora para rodar o Expo em um Virtual Device no WSL (Window Subsystem for Linux) nós precisamos instalar o WSA (Windows Subsystem for Android)
  • Abra este link e procure por essa tabela no README, feito isso baixe a ultima versão estável do WSA.

tabela mostrando para baixar a versao estavel do wsa

  • Mova o arquivo ZIP que você acabou de baixar para a Root da pasta C:\ igual você fez com o script de PowerShell no artigo 1.
  • Agora com o ZIP no lugar certo extraia o arquivo com winRAR ou 7z e exclua o arquivo .ZIP, entre na pasta que acabou de ser extraída e veja se tem uma pasta dentro, se houver, recorte ela e cole-a no root do seu C: novamente.
  • Abra a pasta, clique com o botão direito no Install.ps1 e clique em Executar com o PowerShell.

  • Depois que o comando rodar, vão aparecer algumas popups e umas caixas de dialogo clique em continue e deixe os processos carregarem. Não feche inicialmente nenhuma aba, apenas minimize.

  • Procure a aba que se chame Windows Subsystem for Android com o titulo System

  • Vá no canto superior esquerdo e selecione advanced settings e ative o developer mode e permita as coisas que precisarem permitir em nível de admin.

2. INSTALANDO O SDK DO ANDROID

  • Nós precisamos desse sdk para termos acesso as API's Nativas do android pelo javascript, sem isso nós não conseguiremos criar os nossos aplicativos de forma adequada. Além disso precisamos do sdk para prosseguir pro próximo passo
  • Siga o passo de instalação desse GIST
    • Rode os comandos um por um pra evitar qualquer problema.
    • Lembre-se de trocar o path de Sdk para sdk pois o padrão do expo é sdk.
      • NÃO rode o ultimo comando do gradle. ## 3. INSTALANDO O ADB
  • O ADB (Android Debug Bridge) é uma ferramenta de linha de comando que faz parte do SDK do Android. Ele cria a conexão do nosso WSL ao WSA, sem ele nós não conseguiremos fazer essa conexão e por consequência não conseguiremos usar o WSA para rodar o nosso projeto em um Virtual Device.
  • Acesse esse link e baixe a versão mais recente encontrada nesse repositório.
  • Pegue o ZIP que você acabou de baixar e coloque na HOME do seu WSL
  • Depois de jogar o seu ZIP lá, extraia ele pelo terminal usando o seguinte comando:
unzip <nome-do-arquivo>
Enter fullscreen mode Exit fullscreen mode
  • Se tudo der certo, você terá a pasta platform-tools na home do seu terminal

mostrando a pasta na home do terminal

  • Acesse essa pasta e rode o seguinte comando:
./adb connect <ip-do-wsl>:<porta-do-WSA>
Enter fullscreen mode Exit fullscreen mode

COMO DESCOBRIR O IP DO WSL

  • No seu terminal do WSL, execute o mesmo comando:
netsh.exe interface ip show address
Enter fullscreen mode Exit fullscreen mode
  • Procure pelo vEthernet (WSL)

mostrando o resultado do comando no terminal

  • No Endereço IPterá o IP do WSL que precisamos usar no comando acima. ### COMO DESCOBRIR A PORTA DO WSA
  • Abra o WSA (clique na barra de pesquisa do windows e escreva android nele)

WSA na barra de pesquisa do windows

  • Acesse a aba de Advanced settings

mostrando a aba advanced settings no wsa

  • Esses números depois do : são a porta do WSA.

porta do WSA

  • caso você não encontre a porta do WSA aqui, você terá que baixar a versão de pre release do WSA.
  • O padrão é 58526, mas no seu caso pode mudar, é bom verificar.
  • Pronto, agora você sabe o IP do seu WSL e a porta do WSA, agora você pode rodar o comando.
  • Depois de fazer isso, você pode rodar o projeto Expo de novo e aperte o botão a para abrir o projeto com o WSA.

mostrando o expo rodando corretamente com o virtual device

Finalizamos, caso esse artigo tenha sido útil para você, de uma olhada na nossa comunidade, a devhat. É aqui, que encontramos apoio, compartilhamos ideias e nos inspiramos mutuamente. A comunidade DevHatt não é apenas um conjunto de desenvolvedores, mas uma família unida pela paixão pela tecnologia e inovação.

Se você ainda não faz parte desta comunidade dinâmica, convidamos você a se juntar a nós no Discord DevHatt.

Top comments (1)

Collapse
 
zoldyzdk profile image
Hewerton Soares

Sensacional!