Schermo rotto mentre la modalità debug era disabilitata. Come posso riattivare adb?


40

Lo schermo del mio telefono è fisicamente rotto, quindi non visualizza nulla, ma l'aspetto tattile sembra funzionare, poiché posso sbloccare il telefono e ottenere un feedback tattile.

Prima di andare a sostituirlo, vorrei eseguire il backup di alcuni dati personali dalla memoria incorporata alla scheda SD. Sono abbastanza certo che se riesco a far riconoscere adb il dispositivo, allora posso usare Android Screencast per vedere dove sto toccando lo schermo e fare quello che devo fare. Il problema è che quando lo collego non viene riconosciuto, mentre il mio emulatore lo è.

Sospetto che il debug USB potrebbe non essere abilitato, cosa che ritengo necessaria per far funzionare adb. Se questo è il caso, qualcuno può darmi screenshot del proprio Droid X (in esecuzione 2.3.X) passando dalla schermata principale, attraverso tutti i menu, all'attivazione della modalità debug? Spero di poterlo fare con una resa dei conti morta e adb da lì.

Modifica: non ho cambiato nulla sulla ROM o sul launcher; è tutto pronto.


Sembra che anche il connettore USB sia stato rotto. Puoi connettere il telefono al tuo computer? In tal caso, forse potresti impostarlo in modalità drive USB.
Kevin M,

No, credo che il connettore USB vada bene. Quando lo collego, il mio computer emette il rumore del "dispositivo collegato", ma non succede nient'altro.
Nate Parsons,

Lo hai mai realizzato?
Jason C,

Purtroppo no, ho perso i dati quando ho ricevuto un telefono sostitutivo. Dovrei abilitare adb sul mio attuale telefono per evitare questo ...
Nate Parsons,

Potrebbe essere un po 'tardi, ma il droide X aveva una mini porta HDMI! Perché non usarlo?

Risposte:


12

Recentemente ha avuto esattamente lo stesso problema (su Nexus S di un amico con Android 4.0 di serie con schermo e digitalizzatore completamente rotti e adb disattivato):

Ottieni un sistema di recupero in esecuzione con adb abilitato. Quindi utilizzare la console adb per accedere ai dati del dispositivo e creare un backup. Su Nexus S non puoi usare la sdcard per estrarre i dati dal dispositivo, quindi devi usare adb per quello.

Prerequisiti:

  1. Telefono fa avere modalità fastboot con avvio di comando abilitato
  2. Il telefono funziona ancora (tranne per lo schermo)
  3. SDK installato (con adb funzionanti + eseguibili fastboot)
  4. Immagine di ripristino CWM scaricata su /tmp/cwm.zip (ha abilitato adb all'avvio)
  5. Linux con uudecode installato (parte del pacchetto 'sharutils' su Ubuntu)

Come fare:
a) Avviare il dispositivo in modalità fastboot e avviare il ripristino CWM in questo modo

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

b) attendere qualche istante per l'avvio di CWM, quindi accedere al dispositivo

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

Sostituisci DATA_DEV e SDCARD_DEV con i nomi dei dispositivi reali a
seconda del tuo telefono, molto probabilmente è uno di questi:

  • DATA_DEV: /dev/block/mtdblock*
  • SDCARD_DEV: /dev/block/mmcblk*
  • usa il dfcomando per trovare candidati per dimensione.

    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
    

Avvertenze e ulteriori spiegazioni:

  • Perché uuencode? La console ADB sembra intercettare il flusso di dati e ovviamente inserisce un ritorno a capo prima di ogni avanzamento di riga singola . La codifica dei dati prima di trasmetterli tramite lo stdout di adb protegge da ciò.
  • Non non funziona sui dispositivi cifrati
  • Puoi anche ripetere il processo su dispositivi non montati e trasmettere tutto /dev/block/*uno per uno e capire quale è per cosa in seguito
  • È necessario trovare un'immagine di recupero CWM adatta da soli

Ho digitato quel primo fastbootcomando. È bloccato <waiting for device>. Cosa significa?
Jason C,

1
Un dispositivo in modalità di avvio rapido non è stato rilevato e il programma necessita di ulteriori diritti o è in attesa che tu colleghi un dispositivo in modalità di avvio rapido. Che modello hai? Se si tratta di un Nexus o di una Sony: il bootloader è sbloccato (altrimenti l'avvio di fastboot non funziona)? È necessario premere una combinazione di tasti univoca su ciascun dispositivo per avviarlo in questa modalità. Si noti che i telefoni Samsung non offrono affatto la modalità di comando di avvio rapido.
Ce4

Grazie. Ho un Motorola Droid Razr Maxx HD. Devo tenere premuto il pulsante di accensione + volume durante l'avvio? Non avevo capito che cos'era la modalità "fastboot", ma l'ho appena letta sul sito Motorola mentre cercavo qualcos'altro. Lo proverò quando torno a casa dal lavoro.
Jason C,

Probabilmente dovrai risolverlo, sono dubbioso che questo modello abbia un bootloader sbloccato con la funzione di avvio fastboot.
Ce4,

Tardo aggiunta: Invece di usare uuencode, un modo più semplice potrebbe essere: adb shell "stty raw & tar czf - /tmp/backup" > /tmp/backup.tar.gz. Questo stty rawdice al sistema di inviare i dati "grezzi" (cioè inalterati) e di non aggiungere alcun ritorno a capo. Quindi un requisito in meno, in quanto sttyè disponibile sul dispositivo al momento della spedizione.
Izzy

9

Il Droid X non ha una tastiera fisica, ma se lo facesse potresti provarlo in un terminale. Lascio questa risposta qui per altri telefoni che hanno schermi danneggiati.

setprop persist.service.adb.enable 1

Ciò attiva il debug USB (su un HTC Dream con RC29) ed è uno dei modi per eseguire il root di Dream quando ha uno schermo rotto.


Dove lo scrivo?
Jason C,

1
@JasonC In una shell della riga di comando di Android. Se non hai già un metodo per arrivare a uno, non sarai in grado di impostarne uno con lo schermo rotto.
Dan Hulme,

Se il dispositivo supporta USB OTG, è possibile collegare una tastiera USB, quindi conoscere la sequenza dei tasti o la combinazione di tasti per visualizzare un Terminale, quindi immettere la riga di comando.
porg,

3

Se il dispositivo è in grado di supportare la modalità host USB, è possibile acquistare un cavo USB-OTG (USB in movimento) e collegare un mouse USB o una tastiera USB per bypassare il touchscreen rotto.


Ho un dispositivo GT-I9305 che dovrebbe supportare USB OTG, almeno lo dice 'google', ma se collego il mio mouse wireless non succede nulla, hai idee su come far funzionare il cursore?
tomasb

@tomasb Sei mai riuscito a far riconoscere il mouse?
Jason C,

2
@Jason Sì, lo ero. Sia USB OTG che mouse Bluetooth, la soluzione è piuttosto complessa ma non ho ancora trovato nulla di più semplice (o semplicemente funzionante), descritto qui: android.stackexchange.com/a/69600/60711 La mia situazione era un po 'più complicata perché io ho fatto il flash della nuova ROM e quindi il mio Android non è stato inizializzato.
tomasb,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.