Tengo el siguiente problema: De alguna manera, esta tarde se rompió la pantalla táctil de mi Sony Xperia Z. Tengo dos grietas delgadas en la pantalla y nada en el lado derecho de la grieta reacciona. Tengo teléfonos de respaldo, pero quería recuperar al menos mis fotos. Mi dispositivo está encriptado con una frase de contraseña, pero no puedo escribir. Mi idea era desbloquearlo desde adb, para poder hacer una copia de seguridad de mis datos. Ejecuto SlimKat (SlimRom) con TeamWin Recovery.
Cuando entro en modo de recuperación, puedo ver mi teléfono:
$ adb devices
List of devices attached
CB5A1PN2WU recovery
Pero ningún comando funciona:
$ adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -
¿Cómo puedo obtener mis datos? ¿Puedo controlar remotamente mi teclado? Lamentablemente, todo se guarda en la memoria flash interna.
El Xperia Z es compatible con USB-on-the-go, por lo que con un adaptador USB-OTG y un teclado USB debería poder ingresar la frase de contraseña de cifrado para iniciar el dispositivo.
Aunque comprar un cable OTG debería funcionar bien, de hecho, hay una manera de desbloquear su dispositivo solo a través de ADB. Descubrí esto de la manera difícil cuando incluí un carácter en mi contraseña que no se podía escribir en el teclado virtual y un cable OTG no funcionó por razones que no explicaré.
Hay dos comandos ADB con los que puede activar eventos de teclado. Los he probado y ambos funcionan en la pantalla de entrada de la clave de descifrado del disco. Estos comandos son:
adb shell input text 'mytext'
emula escribir mytext
en el teclado. Tenga en cuenta que no acepta texto arbitrario : puede usar esto principalmente para enviar vocales, consonantes y dígitos ASCII al teclado de esta manera. Los caracteres especiales (p. ej '
., #
, ;
) incluida la barra espaciadora que utilizan este comando requieren una sintaxis especial o no se aceptan.adb shell inputevent <event_number>
emula el evento de una pulsación de tecla específica. Esto se puede usar para escribir ciertos caracteres especiales. La lista completa de eventos clave se puede ver en la documentación para desarrolladores de Android . Aunque los eventos clave admitidos difieren según la versión de Android, todos los eventos clave que usaría para escribir una contraseña se admiten desde Android 3.0 (nivel de API 11).Consulte esta respuesta de desbordamiento de pila para obtener más información.
TomG
estridente