Android Debug Bridge (Português)

Status de tradução:
Esse artigo é uma tradução de
Android Debug Bridge
. Data da última tradução: 2020-03-22. Você pode ajudar a sincronizar a tradução, se houver
alterações
na versão em inglês.
Android Debug Bridge
(ADB) é uma ferramenta de linha de comando para instalar, desinstalar e debugar apps, transferir arquivos e acessar a console de um dispositivo.
Instalação
ADB faz parte das Ferramentas de Plataforma do
pacote SDK
e do pacote
android-tools
.
Utilização
Conectando um dispositivo
Dica
Alguns dispositivos precisam estar com o modo
MTP
habilitado para o ADB funcionar. Outros necessitam do modo PTP habilitado.
Regras
udev
específicas de vários dispositivos estão incluídas no pacote
libmtp
então, se você tiver instalado este, os passos adiante podem ser desnecessários.
Certifique-se que seu cabo USB é capaz de carregar e transferir dados simultaneamente. Alguns cabos USB distribuídos com dispositivos móveis não possuem o pino de dados no cabo.
Para conectar um dispositivo ou telefone através do ADB no Arch você precisa:
Talvez instalar o pacote
android-udev
caso você deseje conectar no dispositivo através de uma entrada no
/dev/
.
Conectar seu dispositivo na USB.
Habilitar USB Debugging(ou depuração USB) nas configurações do seu dispositivo:
Jelly Bean (4.2) ou versões mais recentes: Acesse
Configurações > Sobre o Dispositivo
toque 7 vezes em
Número de Versão ou Versão de Compilação
até que uma popup apareça avisando que você ativou o modo desenvolvedor. Número de compilação pode estar sob um menu chamado
Informações do software
em versões mais novas do sistema operacional Android. Vá então para
Configurações > Opções do desenvolvedor > Depuração USB
e habilite esta opção. O dispositivo irá perguntar se você deseja aceitar a conexão vinda do computador. Para permitir permanentemente copie o arquivo
~/.android/adbkey.pub
no caminho
/data/misc/adb/adb_keys
do dispositivo.
Versões anteriores: Normalmente é feito em
Configurações > Aplicativos > Desenvolvimento > Depuração USB
. Reinicie o telefone para garantir que a depuração USB está habilitada.
Caso o comando (
adb devices
reconheça seu dispositivo
exibindo
"device" e não "unauthorized"
ou se estiver visível pela sua IDE, está feito. Caso contrário, siga as instruções abaixo.
Descobrindo IDs de dispositivo
Cada dispositivo Android possui um ID de fabricante e produto (vendor/product). Exemplo do HTC Evo:
vendor id: 0bb4
product id: 0c8d
Conecte seu dispositivo e execute:
$ lsusb
Uma saída similar a esta deverá ser exibida
Bus 002 Device 006: ID 0bb4:0c8d High Tech Computer Corp.
Adicionando regras no udev
Utilize as regras do pacote
android-udev
(ou
android-udev-git
AUR
), instale as regras manualmente do
Android developer
, ou utilize o seguinte modelo para suas
regras udev
substituindo
[VENDOR ID]
e and
[PRODUCT ID]
pelos do seu dispositivo. Copie estas regras para
/etc/udev/rules.d/51-android.rules
:
/etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="[VENDOR ID]", MODE="0660", GROUP="adbusers"
SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_adb"
SUBSYSTEM=="usb",ATTR{idVendor}=="[VENDOR ID]",ATTR{idProduct}=="[PRODUCT ID]",SYMLINK+="android_fastboot"
Para reiniciar as regras do udev execute:
# udevadm control --reload-rules
Certifique-se que você faz parte do
grupo de usuários
adbusers
para ter acesso a dispositivos
adb
.
Detectando o dispositivo
Após configurar as regras no udev, desconecte e reconecte seu dispositivo.
Então, execute:
$ adb devices
uma saída similar a esta será exibida:
List of devices attached 
HT07VHL00676    device
Se o
adb
ainda não detectar o dispositivo após conectá-lo novamente, mate e reinicie o servidor
adb
como root e verifique os dispositivos novamente:
$ sudo adb kill-server
$ sudo adb start-server
$ adb devices
Transferindo arquivos
Usando o adb você pode transferir arquivos entre o dispositivo e o seu computador. Para transferir arquivos para o dispositivo, execute
$ adb push
<o-que-copiar>
<onde-por>
E para puxar arquivos do dispositivo, execute
$ adb pull
<o-que-puxar>
<diretório-local>
Veja também
#Compilação de ferramentas ADB
.
Backup e restauração
Você também pode fazer backup e restaurar seu dispositivo com
adb
. Além disso, nenhuma raiz é necessária para seguir o processo. Os comandos abaixo levaram ao backup do seu dispositivo em um único arquivo que também pode ser restaurado sucessivamente.
O comando para criar um backup é
$ adb backup -apk -shared -all -f nome-arquivo-backup.ab
A lista de parâmetros do comando é
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|nosystem] [<pacotes...>]
Em seguida, confirme o processo na tela do seu dispositivo e forneça uma senha, se uma senha de backup foi definida anteriormente.
O comando para restaurar um backup anterior é
$ adb restore mybackup.ab
Nota
Lembre-se de que a restauração substitui o conteúdo do seu dispositivo pelo backup.
Compilação de ferramentas ADB
adbfs-rootless-git
AUR
- Sistema de arquivos
FUSE
utilizando o protocolo ADB
adb-sync
(disponível em
adb-sync-git
AUR
) - ferramenta para sincronizar arquivos entre o computador e um dispositivo Android através do protocolo ADB.
AndroidScreencast
(disponível em
androidscreencast-bin
AUR
) – visualizar e controlar seu dispositivo Android do computador (protocolo ADB).
logcat-color3
AUR
- uma alternativa colorida e altamente configurável ao comando padrão
adb logcat
.
scrcpy
(disponível como
scrcpy
) – exibe e controla seu dispositivo Android
Solução de problemas
Caso você receba uma lista vazia (your device is not there), você não habilitou a Depuração USB no seu dispositivo. Faça isto acessando
Configurações > Aplicativos > Desenvolvimento
e habilitando a opção Depuração USB. Desde o Android 4.2 (Jelly Bean), o menu de desenvolvimento é oculto; para habilitar vá em
Configurações > Sobre o Dispositivo
toque 7 vezes em
Número de Versão ou Versão de Compilação
.
No Moto E, o dispositivo pode ter vendor/product IDs diferentes nos modos fastboot e sideload; se você receber o erro "no permission" verifique tais IDs utilizando o comando
lsusb
.