Sobre adb
Para colocá-lo em breve, adb(Android Debug Bridge) é um utilitário criado para ser instalado em um computador, para permitir que ele ganhe um shell em um telefone conectado via cabo USB ou na mesma rede Wi-Fi.
Em certos dispositivos que executam o Android Lollipop (5.1.1) e, possivelmente, versões inferiores do sistema operacional, era possível induzir um dispositivo a se conectar, pois o adbcliente também vinha incluído no telefone. Isso não é mais possível porque, a partir do Android Marshmallow (6.0), o Google removeu o adbbinário dos telefones para reduzir a superfície de ataque utilizável.
É possível, no entanto, reintroduzir manualmente o adbcliente em um telefone, sem a necessidade de compilar o binário. Consulte o wiki da tag adb para obter mais informações sobre este tópico, bem como sobre a instalação em um computador e a solução de problemas gerais.
Onde conseguir
Algum tempo atrás, para obter adbe outro utilitário chamado fastboot, era necessário baixar o Android SDK completo do Google, se eles quisessem um pacote oficial. Atualmente, um pequeno pacote oficial se tornou disponível, como diz o XDA . Inclui binários para os sistemas operacionais mais comuns.
Como funciona
O adbcliente, instalado no seu computador, faz uma conexão com um telefone conectado ou detectável por meio de um servidor interno. Em seguida, o usuário poderá enviar uma variedade de comandos para o próprio telefone, que serão ouvidos por adbdum daemon residente no telefone.
Ao usar adb, você representa o usuário chamado shell(UID 2000). Esse usuário é especial, pois pode conceder permissões de aplicativos e acessar mais informações do que um usuário simples. Esse fato, no entanto, não significa que adbé o mesmo que su, pois o último permite que você personifique qualquer usuário.
Mais informações sobre adbe seu funcionamento podem ser obtidas consultando a documentação oficial .
Emitindo comandos de um telefone
A maioria dos comandos que podem ser emitidos via adbtendem a ser utilitários pré-instalados em um telefone.
Para acessá-los, você precisa instalar um aplicativo emulador de terminal no seu telefone (observe que o Termux é especial, pois especifica o seu próprio PATH, ignorando assim os binários do sistema). Isso permitirá, por exemplo, que você emita comandos como logcatdiretamente no seu dispositivo móvel. Lembre-se de omitir o adbprefixo.
Vale ressaltar que, se você não tiver permissões de root, o intervalo de comandos que você poderá executar e as informações que poderá acessar serão significativamente menores do que se estiver usando adb, porque o UID que os chama será o aplicativo em si, e os aplicativos têm menos permissões que o UID 2000.