Spring naar hoofdtekst

Android tekstinvoer via USB

Geplaatst op door ,
Laatste aanpassing op .

Inleiding

Bij het inrichten of aanpassen van een Android smartphone komt het met enige regelmaat voor, dat je lange en vaak complexe tekenreeksen moet invoeren op het armzalige schermtoetsenbord van de telefoon in kwestie. Denk daarbij bijvoorbeeld aan wachtwoorden van e-mailaccounts of een WLAN-wachtwoord. Zou het niet prachtig zijn als je dit met behulp van een computertoetsenbord zou kunnen doen? Eventueel nog verder vereenvoudigd door gebruik making van een klembord (kopiëren en plakken)? Gelukkig behoort dit alles tot de mogelijkheden, als je de telefoon via USB met de computer verbindt!

ADB

De afkorting ADB staat voor Android Debug Bridge, een stukje software dat een verbinding (brug) legt tussen een Android-systeem enerzijds en een computer anderzijds. Het maakt van begin af aan deel uit van Google's Android-ontwikkeltools en wordt vaak gebruikt tijdens de ontwikkeling van apps en aangepaste firmware, zogenaamde Custom ROMs.

ADB wordt uitgevoerd op de computer en legt (meestal via USB) verbinding met het Android-systeem. Laatstgenoemde moet die verbinding wel eerst toestaan. Als eerste moeten de ontwikkelaarsopties worden ingeschakeld via Instellingen / Over de telefoon / 7x tikken op Build-nummer. Hierna verschijnt er in Instellingen een extra optie (bijna onderaan): Opties voor ontwikkelaars. Kies hier voor Android-foutopsporing en schakel deze functie in.

Input

In dit artikel zal ik slechts één mogelijke toepassing van deze duizendpoot op de commandline toelichten: het commando adb shell input text. Hiermee kun je tekstvelden waar de Android-focus staat vanaf het toetsenbord van de computer vullen. Ga daartoe als volgt te werk:

  1. Installeer ADB op de computer met bijvoorbeeld $ sudo apt install adb.
  2. Schakel de Android-foutopsporing in, zoals hierboven beschreven.
  3. Sluit de telefoon via USB aan op de computer.
  4. Open een dialoog waarin wordt gevraagd voor het WLAN-wachtwoord dat lang, complex en moeilijk te typen is. Plaats de cursor in het betreffende tekstveld.
  5. Vul het wachtwoord in met $ adb shell input text 'WatHierStaatIsGeheim'.

Te complex

Natuurlijk is niets zo eenvoudig als het in eerste instantie lijkt - ook dit stappenplan is verre van perfect. Met name de lees- en bijzondere tekens in een aantal wachtwoorden lieten zich niet zo 1-2-3 via bash en adb overpompen. Ik moest op zoek naar de juiste aanhalingstekens om de tekens heelhuids aan de overkant te krijgen.

Uiteindelijk bleek (ten minste bij gebruik van adb) de volgende methode doeltreffend: verpak de tekenreeks eerst in dubbele, daarna in enkele aanhalingstekens.

$ adb shell input text '"WatHierSta@t1s&ehe!m"'

Toch was er nog één veldslag voordat ik mijn wachtwoord zonder problemen op het Android-display zag verschijnen. Het dollarteken ($) en de dubbele aanhalingstekens (") werden nog steeds door bash geïnterpreteerd. Een backslash (\) was voldoende om ook deze tekens ongehavend te kunnen invoeren.

$ adb shell input text '"Wat\"Hier\$ta@t1s&ehe!m"'

Inhoudsopgave

Doorzoek de onderstaande categorieën om de lijst met artikelen te filteren.