Ultimas do CanalQb

CanalQb - Python - Buildozer - Procedimento para Instalação do ADB no Ubuntu 18.04 WSL2 no Windows 10

@CanalQb


CanalQb - Python - Buildozer - Procedimento para Instalação do ADB no Ubuntu 18.04 WSL2 no Windows 10



CanalQb



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.

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 update
sudo 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 5555
PasswordAuthentication yes

Salve e saia do editor (CTRL + X, depois Y e Enter).

Reiniciar o Servidor SSH

sudo ssh-keygen -A
sudo 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 ~/.ssh
chmod 700 ~/.ssh
nano ~/.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:


cd $env:USERPROFILE\.ssh
type id_rsa.pub




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 5555
adb connect {DEVICE_IP}:5555
adb 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-tools
alias 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

 

Login e senha do WSL


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


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.

var disqus_shortname = ''; (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); ]]>