O ADB (
Android Debug Bridge) é uma ferramenta utilizada para fazer comunicação direta entre o teu PC e dispositivo móvel
Android. Essa comunicação pode ser feita tanto via cabo USB quanto via conexão TCP/IP.
A ferramenta nos possibilita uma infinidade de ações no dispositivo, como acesso a um shell/terminal no Android, instalar e remover aplicativos, fazer capturas e gravações de tela etc.
O ADB está disponível para
Linux, macOS e Windows. Ele faz parte do
Android Studio:
No
Ubuntu,
Debian ou derivados você pode instalá-lo diretamente dos repositórios oficiais:
sudo apt install adb
Vídeo
O conteúdo deste artigo foi gravado em vídeo e encontra-se disponível no link abaixo. Fica a seu critério mudar para o YouTube ou continuar com a leitura.
Link para o canal:
Cotidiano Hackeado
Inicialização
Antes de utilizar o ADB é necessário:
- habilitar o modo desenvolvedor no teu dispositivo móvel
- conectar o dispositivo móvel via cabo USB no PC
Para habilitar o modo desenvolvedor no teu Android, apesar de não ser regra (pode variar de acordo com o fabricante), o caminho fica em:
Configurações > Sobre o dispositivo > Número da versão
Clique por 7 vezes em cima do número da versão do dispositivo, em seguida retorne à tela anterior para encontrar uma nova opção de menu chamada "Opções do desenvolvedor".
O ADB na verdade é um conjunto de três componentes:
- adb - um cliente, que envia comandos
- adbd - um daemon executado em segundo plano em cada dispositivo, que fica disponível após habilitar as opções de desenvolvedor
- e um servidor na máquina de desenvolvimento, que gerencia a comunicação entre o adb e o adbd
Com o celular conectado, digite o seguinte comando para listar os dispositivos disponíveis:
adb devices
O comando acima é o cliente, que está perguntando ao servidor se há algum dispositivo disponível. Como ainda não inicializamos o servidor ADB, o cliente irá inicializá-lo de forma transparente. A saída do comando acima deve ser algo como:
List of devices attached
ro7pcio7ypwk4toz device
Note que é possível identificar um processo rodando na porta 5037 com o comando "ps":
ps ax | grep adb
31904 ? Ssl 0:00 adb -L tcp:5037 fork-server server --reply-fd 6
Ou até mesmo com o comando lsof:
lsof -i :5037
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vysor 24010 fabio 37u IPv4 26386903 0t0 TCP localhost:37174->localhost:5037 (ESTABLISHED)
vysor 24010 fabio 38u IPv4 26386905 0t0 TCP localhost:37178->localhost:5037 (ESTABLISHED)
adb 31904 fabio 21u IPv4 26388692 0t0 TCP localhost:5037->localhost:37174 (ESTABLISHED)
adb 31904 fabio 22u IPv4 26388677 0t0 TCP localhost:5037 (LISTEN)
adb 31904 fabio 24u IPv4 26388694 0t0 TCP localhost:5037->localhost:37178 (ESTABLISHED)