Em várias perguntas neste site, vejo respostas nos dizendo para executar adb shell
ou adb logcat
assim por diante.
Agora, como não sou um usuário totalmente ignorante, baixei e instalei o Termux e tenho um prompt de shell quando posso digitar comandos, mas - de onde vem isso adb
? Eu faço o download como um aplicativo? Não parece estar instalado por padrão (em um Redmi 3S, Android 6.0.1).
Além disso, parece que é algum tipo de elevador de permissão. É como su
? Se não, como é diferente?
Respostas:
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
adb
cliente também vinha incluído no telefone. Isso não é mais possível porque, a partir do Android Marshmallow (6.0), o Google removeu oadb
binário dos telefones para reduzir a superfície de ataque utilizável.É possível, no entanto, reintroduzir manualmente o
adb
cliente 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
adb
e outro utilitário chamadofastboot
, 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
adb
cliente, 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 poradbd
um daemon residente no telefone.Ao usar
adb
, você representa o usuário chamadoshell
(UID2000
). 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 queadb
é o mesmo quesu
, pois o último permite que você personifique qualquer usuário.Mais informações sobre
adb
e seu funcionamento podem ser obtidas consultando a documentação oficial .Emitindo comandos de um telefone
A maioria dos comandos que podem ser emitidos via
adb
tendem 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 comologcat
diretamente no seu dispositivo móvel. Lembre-se de omitir oadb
prefixo.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 UID2000
.fonte
Ponte de depuração do Android (ADB) .
Ele envia comandos via USB ou Wifi para um dispositivo Android. Geralmente, é instalado no computador conectado ao dispositivo. O cliente ADB também pode ser executado no próprio dispositivo, no entanto, a idéia é depurar remotamente o dispositivo.
Faz parte do Kit de desenvolvimento de software para Android
Você pode usar o gerenciador do SDK para baixar as ferramentas da plataforma.
Também há um link mais direto aqui, caso você esteja interessado apenas nas ferramentas da plataforma
Documentação do ADB
fonte