Друг попросил вытащить контакты из телефона с разбитым экраном.
В принципе, ситуация сильно упрощается, если разбит только тачскрин, а экран при этом жив. В таком случае если телефон поддерживает OTG — подключаем обычную мышку через переходник и выполняем все необходимые действия глядя на экран телефона.
Но экран на переданном мне телефоне был мертв, как старуха-процентщица после роковой встречи с Раскольниковым.
И этот случай намного тяжелее, ковырять телефон можно только с помощью консоли или специальных программ.
Однако, тут возникает проблема №1: должна быть включена отладка по USB. Как можно было догадаться, предыдущий владелец ничего такого не включал (да и если бы включил — всех проблем это не решило, но об этом — ниже).
А включается отладка по USB следующим образом.
Для этого нам понадобится программа adb.exe, которую можно взять из Android SDK (и ещё множества мест — гугл в помощь).
- Перезагружаемся в recovery. Естественно, это приходится делать на ощупь. В принципе, всё должно заработать и со штатным recovery, но я после нескольких неудачных попыток прошил CWM, после чего стандартным сочетанием клавиш я всё-таки попал в recovery.
- На этом этапе телефон должен появиться в системе. А если вдруг драйвер телефона не нашелся, берем его отсюда и принудительно скармливаем его операционной системе, т.е. так:
- Проверяем, что adb видит наше устройство:
adb.exe devices List of devices attached 5230a115c4bf903b recovery
- Далее из командной строки вводим следующие команды:
adb shell echo "persist.service.adb.enable=1" >>/system/build.prop echo "persist.service.debuggable=1" >>/system/build.prop echo "persist.sys.usb.config=mass_storage,adb" >>/system/build.prop" reboot
- Последняя команда может не сработать, поэтому раз или два раза нажимаем power (в зависимости от типа recovery), чтобы выполнился пункт «Reboot system now».
- В принципе, можно не перезагружаться, а поковыряться в файловой системе, например достать файл контактов
adb pull /data/data/com.android.providers.contacts/databases/contacts2.db c:\
и потом сконвертировать его любым доступным способом. Но мы идём дальше!
- После перезагрузки пробуем что у нас получилось с USB-отладкой
adb.exe devices List of devices attached 5230a115c4bf903b unauthorized
Вот это unauthorized значит, что в теории мы должны разрешить с телефона подключение этого компьютера.
Т.е. нажать OK на экране телефона в таком диалоге
Увы, с мертвым экраном — это не наш случай. А без этого какие-либо действия с телефоном с помощью adb вне recovery невозможны. - Но решается это весьма просто. Берем любой работающий телефон на android’е, включаем там отладку USB, при появлении вышеуказанного вопроса ставим галочку и нажимаем ОК.
- Не отключая рабочий телефон, выполняем команду
adb pull /data/misc/adb/adb_keys c:\
- Отключаем рабочий телефон, а телефон со сломанным экраном снова перезагружаем в recovery.
- Выполняем команду
adb push c:\adb_keys /data/misc/adb
и перезагружаем телефон способом из пункта 4 или любым другим.
- Теперь данный компьютер авторизован на телефоне, в чём можно убедиться с помощью команды
adb devices List of devices attached 5230a115c4bf903b device
- Идём на http://www.moborobo.com, скачиваем и устанавливаем данную программу.
С её помощью можно делать разные вещи, в т.ч. и бэкап.
- Profit!
по мотивам forum.xda-developers.com