CanalQb - Python - Buildozer - Procedimento para Instalação do ADB no Ubuntu 18.04 WSL2 no Windows 10
CanalQb - Python - Buildozer - Procedimento para Instalação do ADB no Ubuntu 18.04 WSL2 no Windows 10
Sempre crie uma frase de segurança única para jogos, Airdrops e qualquer outra coisa de origem desconhecida, em vez de usar sua carteira principal.
Pré-requisitos
Windows 10 com WSL2 habilitado.
Ubuntu 18.04 instalado no WSL2.
Link para download: https://developer.android.com/tools/releases/platform-tools?hl=pt-br
Passo 1: Atualizar o Ubuntu
Abra o terminal do Ubuntu no WSL2 e execute os seguintes comandos para garantir que todos os pacotes estejam atualizados:
sudo apt updatesudo apt upgrade -y
Passo 2: Instalar o ADB no WSL2
Instale o ADB usando o comando:
sudo apt install android-tools-adb -y
Passo 3: Habilitar o Servidor SSH no WSL2
Instalar o OpenSSH Server
Instale o servidor SSH com o comando:
sudo apt install openssh-server -y
Configurar o SSH
Edite o arquivo de configuração do SSH:
sudo nano /etc/ssh/sshd_config
Certifique-se de que as seguintes linhas estão configuradas corretamente:
Port 5555PasswordAuthentication yes
Salve e saia do editor (CTRL + X, depois Y e Enter).
Reiniciar o Servidor SSH
sudo ssh-keygen -Asudo service ssh restart
Passo 4: Criar Chave SSH no PowerShell
Gerar Chave SSH no Windows
Abra o PowerShell no Windows e execute o comando:
ssh-keygen -t rsa -b 4096
Pressione Enter para aceitar o caminho padrão (`C:\Users\Qb\.ssh\id_rsa`).
Insira uma passphrase se desejar (ou pressione Enter para deixar em branco).
Copiar a Chave Pública para o WSL2
Obtenha o IP do WSL2. No terminal do Ubuntu, execute:
ifconfig
Anote o endereço IP, que deve ser algo como `172.18.x.x`.
Agora, no PowerShell, execute o seguinte comando para copiar a chave pública para o WSL2 (substitua `{REMOTE-IP-ADDRESS}` pelo IP que você anotou):
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh qb@{REMOTE-IP-ADDRESS} "mkdir -p ~/.ssh; cat >> ~/.ssh/authorized_keys"
Se você receber uma mensagem de erro dizendo que `authorized_keys` não existe, siga os passos abaixo após se conectar via SSH:
Conecte-se ao WSL2 com:
ssh qb@{REMOTE-IP-ADDRESS}
Criar o Diretório .ssh e o Arquivo authorized_keys
No terminal do WSL2:
mkdir -p ~/.sshchmod 700 ~/.sshnano ~/.ssh/authorized_keys
Cole a chave pública que você copiou anteriormente.
O arquivo `~/.ssh/authorized_keys` deve conter a linha:
echo "ssh-rsa AAAAB3Nza...7bZQ== qb\qb@Qb" >> ~/.ssh/authorized_keys
Inicio da Tela |
Final da Tela |
Em azul: é toda a linha contida em:
Ajustar Permissões
Após adicionar a chave pública, ajuste as permissões:
chmod 600 ~/.ssh/authorized_keys
Passo 5: Adicionar Regras do Firewall no PowerShell (Admin)
Verificar regras:
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "*ADB*" -or $_.DisplayName -like "*5037*" }
Adicionar Regras:
New-NetFirewallRule -DisplayName "Allow ADB" -Direction Inbound -Protocol TCP -LocalPort 5037 -Action Allow
Verifique se as Regras Foram Adicionadas:
Get-NetFirewallRule | Where-Object { $_.DisplayName -like "*ADB*" }
Passo 6: Conectar via TCP/IP No PowerShell (Não funciona com meu roteador), dados do celular
adb tcpip 5555adb connect {DEVICE_IP}:5555adb devices
Passo 7: Adicionar o ADB do Windows ao PATH no WSL
Edite o arquivo `~/.bashrc`:
nano ~/.bashrc
Adicione as seguintes linhas:
export PATH=$PATH:/mnt/c/platform-toolsalias adb='/mnt/c/platform-tools/adb.exe'
Em seguida, execute:
source ~/.bashrc
Passo 8: Iniciar o Servidor ADB
Iniciar o ADB
No terminal do WSL2, inicie o servidor ADB:
adb start-server
Testar a Conexão ADB
Agora você pode testar se o ADB está funcionando:
adb devices
Se não houver dispositivos listados, você pode precisar conectar um dispositivo Android ou configurar um emulador.
Passo 9: Estabelecer Túnel SSH para o ADB
Estabelecer um Túnel SSH do Host para o WSL2
No PowerShell, execute:
ssh -XC -R 5037:127.0.0.1:5037 qb@{REMOTE-IP-ADDRESS}:5555
ou
ssh -XC -R 5037:127.0.0.1:5037 qb@{REMOTE-IP-ADDRESS} -p 5555
Testar ADB Novamente
No terminal do WSL2, você pode agora executar:
adb devices
Isso deve listar os dispositivos conectados.
Passo 10: Buildozer e o ADB do Windows
Edite seu arquivo `buildozer.spec` e adicione a linha:
android.adb = /usr/bin/adb
Em seguida, execute:
buildozer android deploy run
Lista de alguns comandos ADB
adb devices
Descrição: Lista todos os dispositivos conectados ao seu computador via ADB.
Uso: Verifique se seu dispositivo está reconhecido.
adb connect <DEVICE_IP>:<PORT>
Descrição: Conecta-se a um dispositivo Android via rede, especificando o IP e a porta.
Uso: Conectar a um dispositivo que não está usando USB.
adb disconnect <DEVICE_IP>:<PORT>
Descrição: Desconecta um dispositivo conectado via rede.
Uso: Para desconectar dispositivos remotos.
adb install <APK_PATH>
Descrição: Instala um aplicativo APK no dispositivo conectado.
Uso: Facilita a instalação de aplicativos que não estão na Play Store.
Exemplo adb -s 3096TF1010048087 install canalqbpuzzle-0.1-arm64-v8a-debug.apk
Exemplo adb -s 3096TF1010048087 install canalqbpuzzle-0.1-arm64-v8a-debug.apk
adb uninstall <PACKAGE_NAME>
Descrição: Remove um aplicativo do dispositivo usando seu nome de pacote.
Uso: Desinstalar aplicativos indesejados.
adb push <LOCAL_PATH> <REMOTE_PATH>
Descrição: Copia arquivos do computador para o dispositivo Android.
Uso: Transferir arquivos, como imagens ou documentos.
adb pull <REMOTE_PATH> <LOCAL_PATH>
Descrição: Copia arquivos do dispositivo Android para o computador.
Uso: Fazer backup de arquivos importantes.
adb shell
Descrição: Acessa o shell do dispositivo Android.
Uso: Permite executar comandos diretamente no dispositivo.
adb reboot
Descrição: Reinicia o dispositivo Android.
Uso: Útil para aplicar configurações ou após a instalação de aplicativos.
adb reboot bootloader
Descrição: Reinicia o dispositivo no modo bootloader.
Uso: Necessário para desbloquear o bootloader ou instalar uma nova ROM.
adb reboot recovery
Descrição: Reinicia o dispositivo no modo de recuperação.
Uso: Para realizar atualizações de sistema ou limpar dados.
adb logcat
Descrição: Exibe os logs do sistema Android em tempo real.
Uso: Depurar aplicativos e verificar erros.
adb shell pm list packages
Descrição: Lista todos os pacotes instalados no dispositivo.
Uso: Ver todos os aplicativos instalados.
adb shell am start -n <PACKAGE_NAME>/<ACTIVITY_NAME>
Descrição: Inicia uma atividade específica de um aplicativo.
Uso: Abrir um aplicativo diretamente em uma tela específica.
adb shell settings list system
Descrição: Lista todas as configurações do sistema.
Uso: Para verificar ou modificar configurações do sistema.
adb shell dumpsys
Descrição: Fornece informações detalhadas sobre o estado do dispositivo.
Uso: Depuração e análise de problemas.
adb shell pm clear <PACKAGE_NAME>
Descrição: Limpa os dados de um aplicativo específico.
Uso: Útil para redefinir um aplicativo sem desinstalá-lo.
adb shell input text '<TEXT>'
Descrição: Envia texto para o dispositivo como se estivesse sendo digitado.
Uso: Automatizar a entrada de texto em aplicativos.
adb shell input keyevent <KEYCODE>
Descrição: Simula pressionamentos de teclas.
Uso: Navegar na interface do dispositivo ou simular ações de teclas.
adb shell screencap /sdcard/screenshot.png
Descrição: Captura uma tela e salva como um arquivo PNG no dispositivo.
Uso: Para tirar screenshots rapidamente.
adb shell screenrecord /sdcard/recording.mp4
Descrição: Inicia a gravação da tela do dispositivo.
Uso: Criar tutoriais ou capturar gameplay.
adb shell pm install -r <APK_PATH>
Descrição: Instala um APK, substituindo a versão existente.
Uso: Atualizar um aplicativo já instalado.
adb shell am broadcast -a <ACTION>
Descrição: Envia uma broadcast para todos os aplicativos.
Uso: Para testar ações específicas em aplicativos.
adb shell dumpsys activity
Descrição: Fornece informações sobre a atividade atual.
Uso: Análise de desempenho e comportamento de aplicativos.
adb root
Descrição: Reinicia o daemon ADB com privilégios de root.
Uso: Necessário para acessar algumas funcionalidades do dispositivo.
adb shell pm disable-user <PACKAGE_NAME>
Descrição: Desabilita um aplicativo no dispositivo.
Uso: Para desativar aplicativos que não podem ser desinstalados.
adb shell pm enable <PACKAGE_NAME>
Descrição: Reabilita um aplicativo que foi desabilitado.
Uso: Para reativar um aplicativo anteriormente desativado.
adb shell dumpsys package <PACKAGE_NAME>
Descrição: Fornece detalhes sobre um pacote específico.
Uso: Diagnóstico de problemas com aplicativos.
adb shell am startservice -n <PACKAGE_NAME>/<SERVICE_NAME>
Descrição: Inicia um serviço de fundo em um aplicativo.
Uso: Para interagir com serviços que estão rodando.
adb kill-server
Descrição: Para o daemon ADB.
Uso: Útil para reiniciar o ADB em caso de problemas de conexão.
Conclusão
Agora você configurou com sucesso o ADB no Ubuntu 18.04 WSL2 e habilitou o acesso SSH para facilitar o gerenciamento. Se precisar de mais assistência, estou aqui para ajudar!
Nenhum comentário
Comente só assim vamos crescer juntos!
Observação: somente um membro deste blog pode postar um comentário.