Displayschaden: Android-Smartphone über ADB steuern

Aus gegebenem Anlass: Beim Versuch das gebrochene Displayglas zu tauschen, wurde leider das AMOLED-Panel beschädigt. Totalschaden? Nicht wirklich. Man kann trotzdem das Smartphone über die Android Debug Bridge (ADB) steuern um so Daten zu retten, den Hotspot zu starten usw. Wie funktioniert das? Wlanowski zeigt es euch!

Voraussetzungen

  • Auf dem Smartphone muss ADB (USB-Debugging) in den Entwickleroptionen aktiviert sein. (standardmäßig deaktiviert)
  • Man benötigt einen PC, auf dem ADB lauffähig ist. Einfach das Android SDK (Link) herunterladen und installieren. Wichtig: Seit Android 4.2 muss jedes Gerät, dass über ADB auf das Gerät zugreifen möchte, autorisiert werden. Mehr Informationen dazu: Link (englisch)
  • Für Variante 2 muss man auf dem PC Java installiert haben.

 

Variante 1: Über die Console

ADB bietet die Möglichkeit Screenshots zu machen, und Toucheingaben über die Console zu realisieren. Ich werde hier immer Windowsbefehle nutzen. Natürlich ist dies auch auf Linux und Co. übertragbar.

Schritt 1: ADB finden und starten (entfällt bei Linux)

Dazu müsst ihr in das Verzeichnis der adb.exe innerhalb des Android-SDKs wechseln. Danach gleichzeitig Shifttaste und Rechtsklick in die leere weiße Fläche und dann auf „Eingabeaufforderung hier öffnen“ klicken. Gebt nun den Befehl  adb version  ein. Als Ausgabe sollte dann  Android Debug Bridge version 1.0.31 oder ähnlich erscheinen.

ADB Version

Schritt 2: Gerätestatus in ADB prüfen

Gebt nun in das selbe Fenster den Befehl  adb devices ein. Es sollte eine Liste von allen angeschlossenen ADB-Geräten (euer Smartphone) zu sehen sein und dessen Status.

ADB Devices

 

Links seht ihr die individuelle Geräte-ID und rechts davon der Status des Gerätes. Seht ihr anstatt „device“ den Status „offline“ oder „unauthorized“ ist die Wahrscheinlichkeit groß, dass euer PC nicht für das Gerät authorisiert ist, und ihr deshalb keinen ADB-Zugang habt. Bei dem Status „offline“ könnte auch ein Verbindungsproblem die Ursache sein. Oder euer Smartphone befindet sich im Standbymodus.

Schritt 3: Einen Screenshot machen und diesen an den PC senden

Führt einfach die folgenden Befehle wieder  im selben Fenster aus. Ändert gegebenenfalls die angegebenen Pfade.

/sdcard/screenshot.png  ist die Datei auf dem Smartphone die abgerufen werden soll.

C:\adbscreenshot.png  ist die Datei, wie sie dann auf dem PC abgerufen werden kann. Diesen Pfad kann man auch auf den eigenen Desktop ändern.

Nachdem ihr diese Befehle nacheinander ausgeführt habt, solltet ihr in dem angegebenen Ordner die screenshot.png sehen.

Schritt 4: Ein Touchevent an das Smartphone senden

Öffnet das Bild in einem Bildbearbeitungsprogramm. Microsoft Paint reicht uns vollkommen aus. Das Bild sollte euch den aktuellen Displaycontent eures Smartphones zeigen. Um das Smartphone nun zu steuern, fahrt mit der Maus auf einen Punkt, auf den ihr jetzt tippen wölltet. In der Fußzeile von Paint seht ihr dann die X und Y – Koordinaten des Punktes. Merkt sie euch, oder schreibt sie irgendwo nieder. Im Beispielbild möchte ich auf den Button des Appdrawers klicken. Die Koordinaten stehen in der Fußzeile.

Beispielbild
Beispielbild

Gebt nun in die Eingabeaufforderung den Befehl  adb shell input tap x y ein und ersetzt x und y durch die Koordinaten des gewünschten Punktes. Fertig! Nun könnt ihr die Schritte 3 und 4 beliebig oft wiederholen, bis ihr euer Ziel erreicht habt.

Variante 2: Über das Tool von Marian Schedenig

Es gibt da draußen auch Entwickler die sich mit genau diesem Problem beschäftigt haben. Wie beispielsweise Marian Schedenig, der ein Tool programmiert hat, das euch die lästige Arbeit der ersten Variante abnimmt. Es werden euch in einem Fenster die screenshots gezeigt, die wie in Variante 1 über ADB gezogen werden. Nach einem Klick auf einen Punkt werden die Koordinaten des Punktes berechnet und zurück an das Gerät gesandt. Außerdem werden Slide- und Tasteneingaben angenommen. Ein wirklich tolles einfaches Tool.

Schritt 1: Das Tool herunterladen und in einen Ordner extrahieren

Geht dazu auf die Seite des Entwicklers (Link) und scrollt bis an das Ende der Seite, wo ihr den Downloadlink findet. Extrahiert die Zip in einen beliebigen Ordner.

Schritt 2: Das Tool konfigurieren

Öffnet dazu die Datei „config.properties“ in notepad, gedit oder einem anderen Textbearbeitungsprogramm. Ändert dann die erforderlichen Felder.

  • adbCommand: Pfad zu dem ADB-Befehl. Sollte man unter Linux nicht bearbeiten müssen. Unter Windows ist es der Pfad, in dem eure adb.exe liegt. Der Befehl lautet wie gewohnt adb. Hinweis: Bei Windowspfaden müssen die Backslashes gedoppelt werden! Meine Einstellung unter Windows ist:  adbCommand = D:\\ENTWICKLUNG\\ANDROID\\android-sdk\\platform-tools\\adb
  • localImageFilePath: Pfad, indem die Screenshots zwischengespeichert werden sollen. Hier gilt das selbe wie bei adbCommand.

Zu den weiteren Konfigurationseinstellungen, schaut auf der Downloadseite des Tools nach.

Schritt 3: Das Tool starten

Wenn Java auf eurem PC installiert ist, startet die Kommandozeile in dem Ordner der adbcontrol.jar und gebt den Befehl   java -jar adbcontrol.jar ein.

Screenshot zu adbcontrol
Screenshot zu adbcontrol

Meine Quelle zu Variante 2:

http://marian.schedenig.name/2014/07/03/remote-control-your-android-phone-through-adb/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.