Remote ADB Shell er en terminal-app, der giver dig mulighed for at oprette forbindelse til ADB-shell-tjenesten på andre Android-enheder over netværket og udføre terminalkommandoer. Dette kan være nyttigt til fjernfejlfinding af Android-enheder (kører værktøjer som top, logcat eller dumpsys). Den understøtter flere samtidige forbindelser til forskellige enheder og holder disse forbindelser i live, selv når appen er i baggrunden. Denne app kræver ikke root på nogen af enhederne, men root kan være nyttig til at konfigurere målenhederne. Hvis målenhederne ikke er rootede, skal du bruge en computer med Android SDK og Google USB-drivere til at konfigurere dem (detaljeret nedenfor).
Denne app er en indpakning omkring skallen, der er eksponeret over ADB. Den opretholder en 15 kommandohistorik, som er tilgængelig ved et langt tryk på kommandoboksen. Langt tryk på selve terminaldisplayet vil give mulighed for at sende en Ctrl+C, skifte til automatisk rulning eller afslutte terminalsessionen.
Dette fungerer på nøjagtig samme måde, som kommandoen "adb shell" fungerer på en computer. Fordi denne app bruger en indbygget implementering af ADB-protokollen i Java, kræver den ikke root på hverken enhed eller nogen tredjepartsapps på målenheden. Enhederne taler simpelthen den samme protokol til hinanden, som de ville til en computer, der kører ADB-klienten fra Android SDK.
VIGTIGT: Enheder, der kører Android 4.2.2 og nyere, bruger RSA-nøgler til at godkende ADB-forbindelsen. I min test skal enheder, der kører 4.2.2, være tilsluttet en computer, første gang du opretter forbindelse til dem (fra hver enhed med denne app installeret). Dette giver dem mulighed for at vise dialogboksen for accept af offentlige nøgler, som du skal acceptere (og markere "Tillad altid fra denne computer"). Enheder, der kører Android 4.3 og 4.4, ser ikke ud til at have noget problem med at vise dialogboksen uden forbindelse til en computer, så det ser ud til, at dette er en løsning, der er specifik for Android 4.2.2.
For at konfigurere et mål uden rod, skal du tilslutte målenheden til en computer, der har Android SDK installeret og køre "adb tcpip 5555" fra Android SDK's platform-værktøjsmappe. Dette vil starte ADB-lytning på port 5555 på målenheden. Enheden kan derefter afbrydes og vil forblive konfigureret korrekt indtil genstart.
For enheder, der er rootede (selvom det ikke er påkrævet), kan du installere en af de flere "ADB WiFi"-apps for at gøre det muligt for ADB-serveren at lytte over netværket. Enheder med en tilpasset ROM kan have en mulighed for at aktivere ADB over netværket i ruden Udviklerindstillinger i Indstillinger. Brug af en af disse metoder vil korrekt konfigurere ADB til netværksadgang med denne app. Det ekstra trin til 4.2.2 er stadig påkrævet for den indledende forbindelse.
For at oprette forbindelse til din eksterne Android-enhed skal du indtaste enhedens IP-adresse og portnummeret (5555 fra eksemplet ovenfor) i Remote ADB Shell. Tryk på Tilslut, og den vil forsøge at oprette forbindelse til enheden og starte terminalen.
Udviklere: Det brugerdefinerede Java ADB-bibliotek, jeg har skrevet til denne app, er open source under BSD-licensen på https://github.com/cgutman/AdbLib
Kilden til denne app er tilgængelig under Apache-licensen: https://github.com/cgutman/RemoteAdbShell