Сломанный экран при отключенном режиме отладки. Как я могу включить ADB?


40

Экран моего телефона физически поврежден, поэтому он ничего не отображает, но сенсорный аспект, кажется, работает, так как я могу разблокировать свой телефон и получить тактильный отзыв.

Прежде чем приступить к замене, я бы хотел сделать резервную копию некоторых личных данных со встроенной памяти на SD-карту. Я совершенно уверен, что если мне удастся заставить adb распознавать устройство, то я смогу использовать Android Screencast, чтобы увидеть, где я касаюсь экрана, и сделать то, что мне нужно сделать. Проблема в том, что когда я подключаю его, он не распознается, в то время как мой эмулятор есть.

Я подозреваю, что у меня может быть отключена отладка по USB, что, я думаю, необходимо для работы adb. Если это так, может кто-нибудь дать мне скриншоты своего Droid X (под управлением 2.3.X), переходящего с главного экрана через все меню на активацию режима отладки? Надеюсь, я смогу сделать это путем расплаты и оттуда.

Редактировать: я ничего не изменил в ПЗУ или лаунчере; это все сток.


Похоже, разъем USB был сломан. Можете ли вы подключить телефон к компьютеру? Если так, то, возможно, вы могли бы установить его в режим USB-накопителя.
Кевин М

Нет, разъем USB в порядке, я думаю. Когда я подключаю его, мой компьютер издает шум подключенного устройства, но больше ничего не происходит.
Нейт Парсонс

Вы когда-нибудь достигали этого?
Джейсон С

К сожалению, нет, я потерял данные, когда получил замену телефона. Я должен включить ADB на моем текущем телефоне сейчас, чтобы избежать этого ...
Нейт Парсонс

Это может быть немного поздно, но у дроида X был порт мини HDMI! Почему бы просто не использовать это?

Ответы:


12

Недавно возникла точно такая же проблема (на другом Nexus S под управлением Android 4.0 с полностью сломанным экраном, дигитайзером и отключенным adb):

Получите систему восстановления, работающую с включенным adb. Затем используйте консоль adb для доступа к данным устройства и создания резервной копии. На Nexus S вы не можете использовать SDCard для получения данных с устройства, поэтому вам нужно использовать ADB для этого.

Предпосылки:

  1. Телефон действительно есть режим быстрой загрузки с загрузочной включена командой
  2. Телефон все еще работает (кроме экрана)
  3. SDK установлен (с рабочими исполняемыми файлами adb + fastboot)
  4. CWM образ восстановления, загруженный в /tmp/cwm.zip (включил adb при запуске)
  5. Linux с установленным uudecode (часть пакета 'sharutils' в Ubuntu)

Как это сделать:
а) Запустите устройство в режиме fastboot и загрузите восстановление CWM таким образом

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

б) подождите некоторое время для загрузки CWM, затем войдите в устройство

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

Замените DATA_DEV и SDCARD_DEV реальными именами устройств в
зависимости от вашего телефона. Скорее всего, это одно из следующих:

  • DATA_DEV: /dev/block/mtdblock*
  • SDCARD_DEV: /dev/block/mmcblk*
  • используйте dfкоманду, чтобы найти кандидатов по размеру.

    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
    

Предостережения и дальнейшие объяснения:

  • Почему uuencode? Консоль ADB, кажется, перехватывает поток данных и, очевидно, вставляет возврат каретки перед каждым отдельным переводом строки . Кодирование данных перед их передачей через стандартный вывод adb защищает от этого.
  • Кто не работает на шифрованные
  • Вы также можете просто повторить процесс на несмонтированных устройствах и передать все /dev/block/*по одному и выяснить, какой из них для чего впоследствии
  • Вам нужно самостоятельно найти подходящий образ для восстановления CWM

Я набрал эту первую fastbootкоманду. Это застряло на <waiting for device>. Что это значит?
Джейсон С

1
Устройство в режиме fastboot не было обнаружено, и программе требуется больше прав или оно ожидает подключения устройства в режиме fastboot. Какая у вас модель? Если это Nexus или Sony: загрузчик разблокирован (иначе загрузка fastboot не работает)? Вам нужно нажать какую-нибудь уникальную комбинацию клавиш на каждом устройстве, чтобы загрузить его в этот режим. Обратите внимание, что телефоны Samsung вообще не поддерживают командный режим fastboot.
ce4

Спасибо. У меня есть Motorola Droid Razr Maxx HD. Нужно ли удерживать кнопку питания + громкость при загрузке? Я не понимал, что это за режим fastboot, но я просто прочитал его на сайте Motorola, исследуя что-то еще. Я попробую, когда вернусь домой с работы.
Джейсон С

Вам, вероятно, понадобится исправить это, я сомневаюсь, что эта модель имеет разблокированный загрузчик, который имеет функцию быстрой загрузки.
ce4

Позднее дополнение: Вместо использования uuencode, проще всего было бы: adb shell "stty raw & tar czf - /tmp/backup" > /tmp/backup.tar.gz. Он stty rawсообщает системе, что нужно отправлять данные в «сыром» виде (т.е. без изменений), а не добавлять к ним возврат каретки. Таким образом, одно требование меньше, так как sttyдоступно на устройстве, как оно поставляется.
Иззи

9

У Droid X нет физической клавиатуры - но если бы она была, вы могли бы попробовать это в терминале. Я оставляю этот ответ здесь для других телефонов, у которых отключены экраны.

setprop persist.service.adb.enable 1

Это включает отладку по USB (на HTC Dream под управлением RC29) и является одним из способов получить root права на Dream, когда у него отключен экран.


Где мне это напечатать?
Джейсон С

1
@JasonC В оболочке командной строки Android. Если у вас еще нет способа добраться до одного, вы не сможете установить его с разбитым экраном.
Дэн Халм

Если устройство поддерживает USB OTG, вы можете подключить USB-клавиатуру, затем необходимо знать последовательность клавиш или комбинацию клавиш для вызова терминала, а затем введите командную строку.
porg

3

Если устройство поддерживает хост-режим USB, вы можете купить кабель USB-OTG (USB на ходу) и подключить USB-мышь или клавиатуру USB, чтобы обойти сломанный сенсорный экран.


У меня есть устройство GT-I9305, которое должно поддерживать USB OTG, по крайней мере, так говорит «Google», но если я подключу беспроводную мышь, ничего не произойдет, есть идеи, как заставить работать курсор?
Томасб

@tomasb Удалось ли вам когда-нибудь добиться того, чтобы мышь узнавали?
Джейсон C

2
@ Джейсон Да, я был. И USB OTG, и мышь Bluetooth, решение довольно сложное, но я пока не нашел ничего более простого (или просто работающего), описанного здесь: android.stackexchange.com/a/69600/60711 Моя ситуация была немного сложнее, потому что я прошил новый ROM, таким образом, мой Android был неинициализирован.
Томасб

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.