ADB: Guia Completo de Instalação e Uso para Desenvolvimento Android

O que é o ADB e para que serve?

O Android Debug Bridge (ADB) é uma ferramenta de linha de comando versátil que permite a comunicação entre um computador e um dispositivo Android. Ele funciona em uma arquitetura cliente-servidor, onde o cliente é o seu computador e o servidor é o dispositivo Android conectado.

O ADB é parte do Android SDK e é essencial para desenvolvedores, pois possibilita:

  • Executar comandos shell no dispositivo.
  • Gerenciar o encaminhamento de portas entre o computador e o dispositivo.
  • Transferir arquivos entre o computador e o dispositivo.
  • Instalar e desinstalar aplicativos (APKs).
  • Capturar logs do sistema e do aplicativo para depuração, como em casos de ANR ou crashes.

Em resumo, o ADB é a ponte de depuração que permite controlar um dispositivo Android a partir de um terminal no computador.

Instalação e Configuração Inicial

É possível instalar apenas as ferramentas de plataforma (incluindo o ADB) sem baixar o SDK completo. Siga os passos abaixo:

1. Obtendo o ADB

Baixe o pacote correspondente ao seu sistema operacional diretamente do repositório oficial:

  • Windows: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
  • macOS: https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
  • Linux: https://dl.google.com/android/repository/platform-tools-latest-linux.zip

2. Configurando as Variáveis de Ambiente

Após descompactar o arquivo, adicione o caminho da pasta resultante à variável de ambiente PATH do seu sistema. Isso permite executar o comando adb de qualquer local no terminal.

3. Conectando o Dispositivo

Por USB: Conecte o dispositivo Android ao computador via cabo USB. No dispositivo, vá para Configurações > Opções do desenvolvedor e ative a Depuração USB. Se as Opções do desenvolvedor não estiverem visíveis, toque repetidamente no número da versão do build (geralmente 7 vezes) até que sejam ativadas.

Por Emulador: Ao iniciar um AVD (Android Virtual Device) através do Android Studio, ele gearlmente já está configurado para comunicação via ADB.

4. Verificando a Instalação

Abra um terminal (Prompt de Comando, PowerShell, ou Terminal) e execute:

adb version

Se a versão for exibida, a instalação foi bem-sucedida.

Comandos Essenciais do ADB

Comandos Básicos de Gerenciamento

  • adb help: Exibe a lista de todos os comandos e opções disponíveis.
  • adb devices: Lista todos os dispositivos Android conectados e reconhecidos pelo servidor ADB.
  • adb get-serialno: Exibe o número de série do dispositivo conectado.

Acesso Shell e Permissões

  • adb shell: Abre uma conexão de shell interativa com o dispositivo, permitindo o uso de comandos Linux padrão (como ls, cd, cat).
  • adb root: Reinicia o daemon ADB com permissões de root. Nota: Isso só funciona em dispositivos com root ou builds "userdebug"/"eng".
  • adb remount: Permite o acesso de escrita à partição /system. Requer permissões de root.

Conexão com Múltiplos Dispositivos

Se mais de um dispositivo estiver conectado, especifique o alvo usando o sinalizador -s:

adb -s SERIAL_NUMBER shell

Outros sinalizadores úteis:

  • adb -d shell: Conecta-se ao único dispositivo físico conectado via USB.
  • adb -e shell: Conecta-se ao único emulador em execução.

Gerenciamento de Aplicativos (APK)

Liste os pacotes instalados com filtros específicos:

adb shell pm list packages -3

Este comando lista apenas aplicativos de terceiros. Use -s para aplicativos do sistema e -d para aplicativos desativados.

Instale um APK com diversas opções:

adb install -r -g "/caminho/local/meuapp.apk"

A opção -r permite reinstalação mantendo dados, e -g concede todas as permissões listadas no manifesto.

Para desinstalar:

adb uninstall com.exemplo.meuapp

Use pm uninstall -k para remover o app mas manter seus dados e cache.

Transferência de Arquivos

Copie um arquivo do computador para o dispositivo:

adb push "./documento_local.pdf" "/sdcard/Documentos/"

Copie um diretório do dispositivo para o computador:

adb pull "/sdcard/DCIM/Camera" "./backup_fotos"

Dica: Se encontrar erros de permissão, execute adb root e adb remount antes de tentar novamente.

Captura de Logs (Logcat)

Para capturar logs do sistema em tempo real:

adb logcat -v threadtime

Salve os logs em um arquivo e filtre por nível de erro:

adb logcat -v time *:E > "./logs_erros.txt"

Limpe o buffer de logs antes de iniciar uma nova captura com adb logcat -c.

Para extrair traces de ANR:

adb pull "/data/anr/traces.txt" "./anr_traces"

Comandos do Sistema e Diagnóstico

Obtenha informações do dispositivo:

adb shell getprop ro.product.model
adb shell getprop ro.build.version.release
adb shell wm size
adb shell cat /proc/meminfo

Capture uma screenshot e salve-a no computador:

adb shell screencap -p "/sdcard/minha_captura.png"
adb pull "/sdcard/minha_captura.png" "./"

Grave a tela do dispositivo por 15 segundos:

adb shell screenrecord --time-limit 15 "/sdcard/gravacao_tela.mp4"

Descubra qual aplicativo está em primeiro plano:

adb shell dumpsys activity activities | grep mResumedActivity

Gerenciamento do Servidor ADB

Se o ADB não estiver respondendo corretamente, reinicie seu daemon:

adb kill-server
adb start-server

Se a porta padrão 5037 estiver em uso, você pode iniciar o servidor em outra porta, mas precisará especificá-la para os comandos subsequentes usando adb -p PORTA.

Tags: android ADB Ferramentas de Desenvolvimento Depuração shell

Publicado em 6-15 21:34 por Thomas