Zepsuty ekran, gdy tryb debugowania był wyłączony. Jak mogę ponownie włączyć adb?

40

Ekran mojego telefonu jest fizycznie zepsuty, więc nic nie wyświetla, ale wydaje się, że ekran dotykowy działa, ponieważ mogę odblokować telefon i uzyskać dotykową informację zwrotną.

Zanim przejdę do wymiany, chciałbym wykonać kopię zapasową niektórych danych osobowych z wbudowanej pamięci na kartę SD. Jestem całkiem pewien, że jeśli mogę dostać adb do rozpoznania urządzenia, to mogę użyć Android Screencast, aby zobaczyć, gdzie dotykam ekranu i zrobić to, co muszę zrobić. Problem polega na tym, że kiedy go podłączam, nie jest rozpoznawany, podczas gdy mój emulator jest.

Podejrzewam, że mogę nie mieć włączonego debugowania USB, co moim zdaniem jest konieczne, aby adb działał. Jeśli tak jest, czy ktoś może mi zrobić zrzuty ekranu swojego Droida X (działającego pod 2.3.X) przechodzącego z ekranu głównego, przez wszystkie menu, do aktywacji trybu debugowania? Mam nadzieję, że mogę to zrobić, licząc od razu i adb.

Edycja: Nie zmieniłem niczego o pamięci ROM lub programie uruchamiającym; to wszystko na stanie.

Nate Parsons
źródło
Wygląda na to, że złącze USB też zostało zepsute. Czy możesz podłączyć telefon do komputera? Jeśli tak, to możesz ustawić go w trybie napędu USB.
Kevin M
Nie, myślę, że złącze USB jest w porządku. Po podłączeniu komputer wydaje dźwięk „podłączonego urządzenia”, ale nic innego się nie dzieje.
Nate Parsons,
Czy kiedykolwiek to osiągnąłeś?
Jason C
Niestety nie, straciłem dane, gdy otrzymałem telefon zastępczy. Powinienem teraz włączyć adb na moim obecnym telefonie, aby tego uniknąć ...
Nate Parsons
To może być trochę późno, ale droid X miał port mini HDMI! Dlaczego po prostu tego nie użyć?

Odpowiedzi:

12

Miałem dokładnie ten sam problem ostatnio (na Nexusie S w systemie Android 4.0 z całkowicie zepsutym ekranem i digitizerem oraz wyłączonym adb):

Uruchom system odzyskiwania z włączonym adb. Następnie użyj konsoli adb, aby uzyskać dostęp do danych urządzenia i utworzyć kopię zapasową. W Nexusie S nie możesz używać sdcard do pobierania danych z urządzenia, więc musisz do tego użyć adb.

Wymagania wstępne:

  1. Telefon ma posiadać tryb Fastboot z bagażnika włączone polecenie
  2. Telefon nadal działa (oprócz ekranu)
  3. Zainstalowany SDK (z działającymi plikami wykonywalnymi adb + fastboot)
  4. Obraz odzyskiwania CWM pobrany do /tmp/cwm.zip (włączono adb po uruchomieniu)
  5. Linux z zainstalowanym kodem uudecode (część pakietu „sharutils” na Ubuntu)

Jak to zrobić:
a) Uruchom urządzenie w trybie fastboot i uruchom w ten sposób odzyskiwanie CWM

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

b) poczekaj chwilę na uruchomienie CWM, a następnie zaloguj się do urządzenia

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

Zastąp DATA_DEV i SDCARD_DEV rzeczywistymi nazwami abonamentowymi w
zależności od telefonu, najprawdopodobniej jest to jeden z następujących:

  • DATA_DEV: /dev/block/mtdblock*
  • SDCARD_DEV: /dev/block/mmcblk*
  • użyj dfpolecenia, aby znaleźć kandydatów według rozmiaru.

    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
    

Ostrzeżenia i dalsze wyjaśnienia:

  • Dlaczego uuencode? Konsola ADB wydaje się przechwytywać strumień danych i oczywiście wstawia znak powrotu karetki przed każdym pojedynczym wierszem . Uuencodowanie danych przed przesłaniem ich przez stdout adb chroni przed tym.
  • Czy nie działa na urządzeniach szyfrowanych
  • Możesz także po prostu powtórzyć proces na odmontowanych urządzeniach i przesłać je /dev/block/*po kolei i dowiedzieć się, które z nich jest później
  • Musisz samodzielnie znaleźć odpowiedni obraz odzyskiwania CWM
ce4
źródło
Wpisałem to pierwsze fastbootpolecenie. Utknął <waiting for device>. Co to znaczy?
Jason C
1
Urządzenie w trybie szybkiego uruchamiania nie zostało wykryte, a program potrzebuje więcej uprawnień lub czeka na podłączenie urządzenia w trybie szybkiego uruchamiania. Jaki masz model? Jeśli jest to Nexus lub Sony: czy bootloader jest odblokowany (inaczej bootboot nie działa)? Musisz nacisnąć unikalną kombinację klawiszy na każdym urządzeniu, aby uruchomić go w tym trybie. Pamiętaj, że telefony Samsung w ogóle nie oferują trybu poleceń Fastboot.
ce4
Dzięki. Mam Motorola Droid Razr Maxx HD. Czy podczas uruchamiania muszę przytrzymać przycisk zasilania + głośność? Nie zdawałem sobie sprawy, czym jest tryb „fastboot”, ale po prostu przeczytałem go na stronie Motoroli, badając coś innego. Spróbuję, kiedy wrócę z pracy do domu.
Jason C
Prawdopodobnie będziesz musiał to naprawić, wątpię, aby ten model miał odblokowany bootloader z funkcją szybkiego uruchamiania.
ce4
Późno dodatek: Zamiast uuencode, łatwiejszy sposób byłoby: adb shell "stty raw & tar czf - /tmp/backup" > /tmp/backup.tar.gz. stty rawInformuje system, aby wysłać dane „surowe” (tj niezmienione) - i nie dodawać żadnych znaków powrotu karetki do niego. Więc jeden wymóg mniej, ponieważ sttyjest dostępny na urządzeniu w momencie wysyłki.
Izzy
9

Droid X nie ma fizycznej klawiatury - ale jeśli tak, możesz spróbować w terminalu. Pozostawiam tę odpowiedź tutaj dla innych telefonów, które mają uszkodzone ekrany.

setprop persist.service.adb.enable 1

To włącza debugowanie USB (w HTC Dream z RC29) i jest jednym ze sposobów na zrootowanie Dream, gdy ma zepsuty ekran.

Broam
źródło
Gdzie mam to wpisać?
Jason C
1
@JasonC W powłoce wiersza poleceń Androida. Jeśli nie masz jeszcze metody dotarcia do jednej z nich, nie będziesz w stanie jej skonfigurować przy zepsutym ekranie.
Dan Hulme
Jeśli urządzenie obsługuje USB OTG, możesz podłączyć klawiaturę USB, musisz znać sekwencję klawiszy lub kombinację klawiszy, aby wywołać terminal, a następnie wprowadzić wiersz poleceń.
porg
3

Jeśli urządzenie obsługuje tryb hosta USB, możesz kupić kabel USB-OTG (USB w podróży) i podłączyć mysz USB lub klawiaturę USB, aby ominąć uszkodzony ekran dotykowy.

ce4
źródło
Mam urządzenie GT-I9305, które powinno obsługiwać USB OTG, przynajmniej tak mówi „google”, ale jeśli podłączę bezprzewodową mysz, nic się nie stanie, jakieś pomysły, jak uruchomić kursor?
tomasb
@tomasb Czy zdołałeś kiedyś rozpoznać mysz?
Jason C,
2
@Jason Tak, byłem. Zarówno USB OTG, jak i mysz Bluetooth, rozwiązanie jest dość złożone, ale nie znalazłem jeszcze nic prostszego (lub po prostu działającego), opisanego tutaj: android.stackexchange.com/a/69600/60711 Moja sytuacja była trochę bardziej skomplikowana, ponieważ sflashowałem nowy ROM, więc mój Android nie został zainicjowany.
tomasb