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

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

Antes de ir a 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 tengo que 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, lo que creo que es necesario 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, pasando por todos los menús, hasta activar el modo de depuración? Espero poder hacerlo por estima y adb desde allí.

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

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 para que esté en modo de unidad USB.
No, el conector USB está bien, creo. Cuando lo conecto, mi computadora hace el ruido de 'dispositivo conectado', pero no sucede nada más.
¿Alguna vez lograste esto?
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...
¡Esto puede ser un poco tarde, pero el droid X tenía un puerto mini HDMI! ¿Por qué no usar eso?
Teclado multifunción Bluetooth como el DiNovo Mini que tenía por ahí, ayudado con un dispositivo Nexus 7 donde la pantalla táctil estaba rota.

Respuestas (4)

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

Ejecute un sistema de recuperación con adb habilitado. Luego use adb console para acceder a los datos del dispositivo y crear una copia de seguridad. En Nexus S, no puede usar la tarjeta SD para obtener los datos del dispositivo, por lo que debe usar adb para eso.

requisitos previos:

  1. El teléfono tiene el modo fastboot con el comando de arranque habilitado
  2. El teléfono todavía funciona (excepto la pantalla)
  3. SDK instalado (con ejecutables adb + fastboot en funcionamiento)
  4. Imagen de recuperación de CWM descargada en /tmp/cwm.zip (habilitó 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 de CWM de esta manera

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

b) espere un tiempo para que CWM se inicie, 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 reales de los dispositivos
dependiendo de su teléfono, lo más probable es que sea uno de estos:

  • DATA_DEV:/dev/block/mtdblock*
  • SDCARD_DEV:/dev/block/mmcblk*
  • use dfel comando para encontrar 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 . Uuencoding los datos antes de transmitirlos a través de la salida estándar de adb protege contra eso.
  • No funciona en dispositivos encriptados
  • También puede simplemente repetir el proceso en dispositivos desmontados y transmitir todos /dev/block/*uno por uno y averiguar cuál es para qué después
  • Debe encontrar una imagen de recuperación de CWM adecuada usted mismo
Escribí ese primer fastbootcomando. Está pegado <waiting for device>. ¿Que significa eso?
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: ¿el cargador de arranque está desbloqueado (de lo contrario, el arranque rápido no funciona)? Debe presionar una 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.
Gracias. Tengo un Motorola Droid Razr Maxx HD. ¿Necesito mantener presionado el botón de encendido + bajar el volumen al arrancar? No me di cuenta de que ese era el modo "fastboot", pero lo leí en el sitio de Motorola mientras investigaba algo más. Lo probaré cuando llegue a casa del trabajo.
Probablemente necesitará repararlo, dudo que este modelo tenga un cargador de arranque desbloqueado que tenga la función de arranque rápido.
Adición tardía: en lugar de usar uuencode, una forma más fácil 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 "en bruto" (es decir, sin modificar) y que no le agregue ningún retorno de carro. Entonces, un requisito menos, ya que sttyestá disponible en el dispositivo a medida que se envía.
fastboot boot /tmp/cwm.zipEsto salvó a mi teléfono del bucle de arranque. Pulgares hacia arriba.
funciona en android 10??

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

setprop persist.service.adb.enable 1

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

¿Dónde escribo esto?
@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.
Si el dispositivo admite USB OTG, puede conectar un teclado USB, luego necesita saber la secuencia de teclas o la combinación de teclas para abrir una Terminal, luego ingrese la línea de comando.

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

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

Quemé mi digitalizador (al actualizar la recuperación dañada) y actualicé la nueva ROM y pude proceder como se describe aquí: https://android.stackexchange.com/a/69600/60711