Remote ADB Shell é um aplicativo de terminal que permite que você se conecte ao serviço de shell ADB de outros dispositivos Android pela rede e execute comandos de terminal. Isso pode ser útil para depurar dispositivos Android remotamente (executando ferramentas como top, logcat ou dumpsys). Ele suporta várias conexões simultâneas a diferentes dispositivos e mantém essas conexões ativas mesmo quando o aplicativo está em segundo plano. Este aplicativo não requer root em nenhum dos dispositivos, mas o root pode ser útil para configurar os dispositivos de destino. Se os dispositivos de destino não estiverem enraizados, você deve usar um computador com o Android SDK e os drivers USB do Google para configurá-los (detalhado abaixo).
Este aplicativo é um wrapper em torno do shell que é exposto no ADB. Ele mantém um histórico de 15 comandos que é acessível pressionando longamente a caixa de comando. Pressionar longamente a própria tela do terminal dará a opção de enviar um Ctrl+C, alternar a rolagem automática ou sair da sessão do terminal.
Isso funciona exatamente da mesma maneira que o comando "adb shell" funciona em um computador. Como este aplicativo usa uma implementação nativa do protocolo ADB em Java, ele não requer root em nenhum dispositivo ou em nenhum aplicativo de terceiros no dispositivo de destino. Os dispositivos simplesmente falam entre si o mesmo protocolo que falariam com um computador que executa o cliente ADB a partir do Android SDK.
IMPORTANTE: os dispositivos que executam o Android 4.2.2 e posterior usam chaves RSA para autenticar a conexão ADB. Em meus testes, os dispositivos que executam a versão 4.2.2 precisarão ser conectados a um computador na primeira vez que você se conectar a eles (de cada dispositivo com este aplicativo instalado). Isso permite que eles exibam a caixa de diálogo de aceitação de chave pública, que você deve aceitar (e marcar "Sempre permitir deste computador"). Os dispositivos que executam o Android 4.3 e 4.4 parecem não ter problemas para exibir a caixa de diálogo sem uma conexão com um computador, então parece que essa é uma solução específica para o Android 4.2.2.
Para configurar um destino sem raiz de estoque, conecte o dispositivo de destino em um computador que tenha o Android SDK instalado e execute "adb tcpip 5555" na pasta platform-tools do Android SDK. Isso iniciará a escuta do ADB na porta 5555 no dispositivo de destino. O dispositivo pode então ser desconectado e permanecerá configurado corretamente até a reinicialização.
Para dispositivos com root (embora não seja necessário), você pode instalar um dos vários aplicativos "ADB WiFi" para permitir que o servidor ADB escute na rede. Dispositivos com uma ROM personalizada podem ter a opção de habilitar o ADB pela rede no painel Opções do desenvolvedor de Configurações. O uso de qualquer um desses métodos configurará corretamente o ADB para acesso à rede com este aplicativo. A etapa extra para 4.2.2 ainda é necessária para a conexão inicial.
Para se conectar ao seu dispositivo Android remoto, digite o endereço IP do dispositivo e o número da porta (5555 do exemplo acima) no Remote ADB Shell. Toque em Conectar e ele tentará se conectar ao dispositivo e iniciar o terminal.
Desenvolvedores: A biblioteca Java ADB personalizada que escrevi para este aplicativo é de código aberto sob a licença BSD em https://github.com/cgutman/AdbLib
A fonte para este aplicativo está disponível sob a licença Apache: https://github.com/cgutman/RemoteAdbShell