Pantalla rota mientras el modo de depuración estaba deshabilitado. ¿Cómo puedo volver a habilitar adb?

40

La pantalla de mi teléfono está físicamente rota, por lo que no muestra nada, pero el aspecto táctil parece estar funcionando, ya que puedo desbloquear mi teléfono y recibir comentarios hápticos.

Antes de reemplazarlo, me gustaría hacer una copia de seguridad de algunos datos personales de la memoria integrada en la tarjeta SD. Estoy bastante seguro de que si puedo hacer que adb reconozca el dispositivo, entonces puedo usar Android Screencast para ver dónde estoy tocando la pantalla y hacer lo que necesito hacer. El problema es que, cuando lo conecto, no se reconoce, mientras que mi emulador sí.

Sospecho que es posible que no tenga habilitada la depuración de USB, que creo que es necesaria para que adb funcione. Si este es el caso, ¿alguien puede darme capturas de pantalla de su Droid X (ejecutando 2.3.X) desde la pantalla de inicio, a través de todos los menús, hasta activar el modo de depuración? Espero poder hacerlo calculando y adb a partir de ahí.

Editar: no he cambiado nada sobre la ROM o el iniciador; Es todo stock.

Nate Parsons
fuente
Parece que el conector USB también se ha roto. ¿Puedes conectar el teléfono a tu computadora? Si es así, tal vez podría configurarlo en modo de unidad USB.
Kevin M
No, creo que el conector USB está bien. Cuando lo enchufo, mi computadora hace ruido de "dispositivo conectado", pero no sucede nada más.
Nate Parsons
¿Alguna vez lograste esto?
Jason C
Desafortunadamente no, perdí los datos cuando obtuve un teléfono de reemplazo. Debería habilitar adb en mi teléfono actual ahora para evitar esto ...
Nate Parsons
¡Esto puede ser un poco tarde pero el droide X tenía un mini puerto HDMI! ¿Por qué no solo usar eso?

Respuestas:

12

Tuve exactamente el mismo problema recientemente (en el Nexus S de un amigo que ejecuta Android 4.0 con una pantalla y un digitalizador completamente rotos y adb apagado):

Obtenga un sistema de recuperación ejecutándose con adb habilitado. Luego use la consola adb para acceder a los datos del dispositivo y crear una copia de seguridad. En Nexus S no puede usar la tarjeta sd para quitar los datos del dispositivo, por lo que debe usar adb para eso.

Prerrequisitos:

  1. Teléfono hace que el modo de fastboot con arranque activado comando
  2. El teléfono aún funciona (excepto la pantalla)
  3. SDK instalado (con ejecutables adb + fastboot que funcionan)
  4. Imagen de recuperación de CWM descargada en /tmp/cwm.zip (ha habilitado adb cuando se inició)
  5. Linux con uudecode instalado (parte del paquete 'sharutils' en Ubuntu)

Cómo hacerlo:
a) Inicie el dispositivo en modo fastboot e inicie la recuperación CWM de esta manera

me@workstation:~$ fastboot boot /tmp/cwm.zip  

b) espere un tiempo para que CWM arranque, luego inicie sesión en el dispositivo

me@workstation:~$ adb shell  
shell@android:/ $ mkdir -p /tmp/backup/data /tmp/backup/sdcard  

Reemplace DATA_DEV y SDCARD_DEV por los nombres de dispositivos reales
dependiendo de su teléfono, es muy probable que sea uno de estos:

  • DATA_DEV: /dev/block/mtdblock*
  • SDCARD_DEV: /dev/block/mmcblk*
  • use el dfcomando para buscar candidatos por tamaño.

    shell@android:/ $ mount -oro <DATA_DEV> /tmp/backup/data  
    shell@android:/ $ mount -oro <SDCARD_DEV> /tmp/backup/sdcard  
    shell@android:/ $ exit  
    me@workstation:~$ adb shell tar czf - /tmp/backup \| uuencode foo | uudecode -o - > /tmp/backup.tar.gz
    

Advertencias y explicaciones adicionales:

  • ¿Por qué uuencode? La consola ADB parece interceptar el flujo de datos y obviamente inserta un retorno de carro antes de cada salto de línea . Descodificar los datos antes de transmitirlos a través de stdout de adb protege contra eso.
  • No no funcionar en dispositivos encriptados
  • También puede repetir el proceso en dispositivos desmontados y transmitirlos /dev/block/*uno por uno y descubrir cuál es para qué después
  • Necesita encontrar una imagen de recuperación CWM adecuada usted mismo
ce4
fuente
Escribí ese primer fastbootcomando. Está pegado <waiting for device>. Qué significa eso?
Jason C
1
No se detectó un dispositivo en modo fastboot y el programa necesita más derechos o está esperando que conecte un dispositivo en modo fastboot. que modelo tienes? Si es un Nexus o un Sony: ¿está desbloqueado el gestor de arranque (de lo contrario, el arranque fastboot no funciona)? Debe presionar alguna combinación de teclas única en cada dispositivo para iniciarlo en este modo. Tenga en cuenta que los teléfonos Samsung no ofrecen el modo de comando fastboot en absoluto.
ce4
Gracias. Tengo un Motorola Droid Razr Maxx HD. ¿Debo mantener presionado el botón de encendido + bajar el volumen al arrancar? No me di cuenta de que era el modo "arranque rápido", pero lo leí en el sitio de Motorola mientras investigaba algo más. Lo intentaré cuando llegue a casa del trabajo.
Jason C
Probablemente necesite arreglarlo, dudo que este modelo tenga un gestor de arranque desbloqueado que tenga la función de arranque fastboot.
ce4
Además finales: En lugar de utilizar uuencode, una forma más sencilla sería: adb shell "stty raw & tar czf - /tmp/backup" > /tmp/backup.tar.gz. El stty rawle dice al sistema que envíe los datos "sin procesar" (es decir, sin alterar) y que no agregue ningún retorno de carro. Por lo tanto, un requisito menos, ya que sttyestá disponible en el dispositivo cuando se envía.
Izzy
9

El Droid X no tiene un teclado físico, pero si lo tuviera, podría intentarlo en un terminal. Dejo esta respuesta aquí para otros teléfonos que tienen pantallas reventadas.

setprop persist.service.adb.enable 1

Eso activa la depuración de USB (en un HTC Dream con RC29), y es una de las formas de rootear el Dream cuando tiene una pantalla rota.

Broam
fuente
¿Dónde escribo esto?
Jason C
1
@JasonC En un shell de línea de comandos de Android. Si aún no tiene un método para llegar a uno, no podrá configurar uno con la pantalla rota.
Dan Hulme
Si el dispositivo es compatible con USB OTG, puede conectar un teclado USB, luego debe conocer la secuencia de teclas o la combinación de teclas para abrir un Terminal, luego ingrese la línea de comando.
porg
3

Si el dispositivo es compatible con el modo host USB, puede comprar un cable USB-OTG (USB sobre la marcha) y conectar un mouse USB o un teclado USB para evitar la pantalla táctil rota.

ce4
fuente
Tengo un dispositivo GT-I9305 que debería ser compatible con USB OTG, al menos 'google' lo dice, pero si conecto mi mouse inalámbrico no pasa nada, ¿alguna idea de cómo hacer que el cursor funcione?
tomasb
@tomasb ¿Alguna vez lograste que se reconociera el mouse?
Jason C
2
@ Jason Sí, lo estaba. Tanto el USB OTG como el mouse Bluetooth, la solución es bastante compleja, pero todavía no he encontrado nada más simple (o simplemente funciona), descrito aquí: android.stackexchange.com/a/69600/60711 Mi situación fue un poco más complicada porque yo flasheó una nueva ROM, por lo tanto, mi Android no se inicializó
tomasb