Ich habe folgendes Problem: Irgendwie ist heute Abend der Touchscreen meines Sony Xperia Z kaputt gegangen. Ich habe zwei dünne Risse im Display und alles auf der rechten Seite des Risses reagiert nicht. Ich habe Backup-Telefone, aber ich wollte zumindest meine Fotos zurückbekommen. Mein Gerät ist mit einer Passphrase verschlüsselt, aber ich kann nichts eingeben. Meine Idee war, es von adb zu entsperren, damit ich meine Daten sichern kann. Ich verwende SlimKat (SlimRom) mit TeamWin Recovery.
Wenn ich in den Wiederherstellungsmodus gehe, kann ich mein Telefon sehen:
$ adb devices
List of devices attached
CB5A1PN2WU recovery
Aber keine Befehle funktionieren:
$ adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -
Wie komme ich an meine Daten? Kann ich meine Tastatur fernsteuern? Leider wird alles auf dem internen Flash-Speicher gespeichert.
Das Xperia Z unterstützt USB-on-the-go, sodass Sie mit einem USB-OTG-Adapter und einer USB-Tastatur in der Lage sein sollten, die Verschlüsselungs-Passphrase zum Booten des Geräts einzugeben.
Obwohl der Kauf eines OTG-Kabels gut funktionieren sollte, gibt es tatsächlich eine Möglichkeit, Ihr Gerät allein über ADB zu entsperren. Ich habe dies auf die harte Tour herausgefunden, als ich ein Zeichen in mein Passwort aufgenommen habe, das auf der virtuellen Tastatur nicht eingegeben werden konnte, und ein OTG-Kabel aus Gründen, auf die ich nicht näher eingehen werde, nicht funktionierte.
Es gibt zwei ADB-Befehle, mit denen Sie Tastaturereignisse auslösen können. Ich habe diese getestet und sie funktionieren beide auf dem Eingabebildschirm für den Entschlüsselungsschlüssel der Festplatte. Diese Befehle sind:
adb shell input text 'mytext'
emuliert das Tippen mytext
auf der Tastatur. Beachten Sie, dass es keinen beliebigen Text akzeptiert: Sie können dies meistens verwenden, um ASCII-Vokale, Konsonanten und Ziffern auf diese Weise an die Tastatur zu senden. Sonderzeichen (z. B. '
, #
, ;
) einschließlich der Leertaste mit diesem Befehl erfordern entweder eine spezielle Syntax oder werden nicht akzeptiert.adb shell inputevent <event_number>
emuliert das Ereignis eines bestimmten Tastendrucks. Dies kann verwendet werden, um bestimmte Sonderzeichen einzugeben. Die vollständige Liste der wichtigsten Ereignisse finden Sie in der Android-Entwicklerdokumentation . Obwohl die unterstützten Schlüsselereignisse je nach Android-Version unterschiedlich sind, werden alle Schlüsselereignisse, die Sie zum Eingeben eines Passworts verwenden würden, seit Android 3.0 (API-Ebene 11) unterstützt.Weitere Informationen finden Sie in dieser Stack Overflow-Antwort .
TomG
Strix