Восстановление файлов android adb

Восстановление файлов android adb

Ни для кого не секрет, что с нашими «умными» устройствами может произойти всякое, в том числе и такая неприятная поломка как разбитый тачскрин. Что делать в таком случае? Ведь в нем остались все наши данные: контакты, сообщения и пр.

Конечно, самым простым решением будет замена поврежденного экрана. Но если его нет, а данные нужны вчера? В этой теме постараемся собрать все возможные способы восстановления необходимых нам данных.

1. Самое очевидное — меняем тачскрин. Где взять? Спрашиваем в теме аксессуаров своего устройства или тут.

2. Если аппарат поддерживает протокол MHL, можно попробовать подключить его по HDMI к монитору или телевизору. Подключаем мышь по Bluetooth или USB и в случае успешного подключения пробуем сохранить свои данные на карту памяти.

3. Если была включена отладка по USB то пробуем через ADB командой

или чрез приложение QtADB. Подробнее про ADB можно почитать в этой теме ADB и все что с помощью него можно сделать

4. Пробуем достать контакты с помощью приложения MyPhoneExplorer. Ставим и копируем содержимое в компьютер. Телефонная часть программы устанавливается без подтверждения с дисплея. Отладка по USB должна быть включена!

Сообщение отредактировал KEEPERekb — 23.03.19, 22:47

Помогите вытащить контакты!

Fly IQ440
ОС и прошивка: Android 4.0.4

Есть стоковый телефон Fly IQ440 с разбитым стеклом экрана. Стекло сняли. Тач, само собой, не работает, но экран и изображение в полном порядке. Все что осталось от сенсора это небольшой шлейф, торчащий возле экрана. При касании к шлейфу телефон реагирует, но очень непредсказуемо и сделать что-то толковое таким образом почти нереально.

Задача — вытащить контакты, которые лежат в памяти телефона.

Сам я пару дней искал информацию в интернете и на этом форуме, делал попытки восстановить контакты, но все решения, которые я находил требуют включения отладки по USB или плюс к ней еще и рут. Попытки включить отладку путем мацанья шлейфа не увенчались успехом. Максимум, мне удалось зайти в настройки и проскролить до пункта «для разрабочиков», но попасть по нему так и не вышло. Думал про управление смартом через вай фай или блютуз (их включить не составляет особого труда), но все что нашел — требует предварительной установки приложения на смарт. Также пробовал подключать мышку через OTG кабель с активным питанием — не определяется.

В итоге, я решил спросить совета у вас. Возможно, конкретно в такой ситуации есть какие-то способы восстановления контактов?
:thank_you:

Сообщение отредактировал SileLence — 05.08.14, 14:41

Всем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!

Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути

лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.

Всем спасибо, надеюсь, мой опыт кому-то поможет :thank_you:

Сообщение отредактировал SileLence — 05.08.14, 16:27

Отладка по USB не включена.
Дисплеи не рабочий.

сем спасибо, вопрос решился общими усилиями коллег на работе. При этом решился до смешного просто — без прошивок, кабелей и левого софта. Описываю!

Возникла идея попробовать зайти в системное меню телефона. Сначала попробовал включить с зажатыми «power» и «volume-«, но толкового там ничего нет, а потом включил «power» + «volume+» и там нашелся интересный пункт меню «backup user data». Управление в меню осуществляется с помощью клавиш громкости и включения. Забыл сказать, перед этим вставил карту памяти в телефон.
Началось копирование бекапа весом 144 мб. Когда закончилось, флешку извлек, вставил в компьютер и обнаружили файл с расширением .backup, распаковал с помощью 7zip. Полученный файл опять распаковал и увидел кучу папок. По пути
/data/data/com.android.providers.contacts/databases/
лежит заветный contacts.db.
Дальше выполнил первые два пункта из этого поста и запрос из этого. Полученный файл открыл Экселем.

Читайте также:  Раскладка внешней клавиатуры для андроид

Всем спасибо, надеюсь, мой опыт кому-то поможет

SileLence, Привет,ты уверен,что распаковывал с помощью 7-зип? Просто таже самая ситуация, но 7-зип не распаковывает, говорит,что не его формат.

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

Надо «всего лишь» найти сервис, в котором часто ремонтируют подобную модель аппарата, в таких сервисах часто у может быть найдет просто рабочий, пусть и не новый, тачскрин (или экранный модуль) для Вашей модели аппарата.
В этом случае, часто можно договориться за умеренную плату установить временно рабочий тачскрин на Ваш поврежденный аппарат, и извлечь из него данные, даже не собирая аппарат, а «на весу».

Видимо этим вариантом и займусь..

п.с. через ADB пишет, что device unauthorized. Вот только мне кажется, что я точно включал отладку по USB когда делал рут права(( С этим уже ничего не поделать?

Контакты Android хранятся в директории /data/data/com.android.providers.contacts/databases/ в файле contacts.db или на некоторых прошивках contacts2.db.
Данный файл является базой данных sqlite и может быть прочитан с помощью соответсвующего программного обеспечения.

Теперь как я доставал контакты с телефона у которого отказал сенсор. Экспорт контактов никогда не производился, была отключена функция отладки по USB, и пользуясь способом способом, 7zip не смог распаковать .backup сделанный стандартным рекавери, а adb почему-то не видел требуемые файлы в папке
data.

Находим на 4pda информацию по установке ClockworkMod recovery (CWM) FAQ по ClockworkMod recovery для вашего девайса и качаем требуемые файлы.
Для этого как правило нам понадобятся:
1. драйвера для подключения девайса к компьютеру
2. recovery.img — образ CWM
3. fastboot или FlashTool — потребуется для прошивки образа CWM в девайс, выбирайте более понятный для вас
4. нужен будет архиватор для распаковки файла резервной копии (я использовал 7zip)
5. и какую-нибудь программку для работы с базами данных (я использовал sqlitestudio)

теперь переходим к действиям по вытаскиванию нужной инфы:
1. по скачиванию и установке драйверов, образов и программ писать особо не буду большая часть должна быть описана в инструкции к вашему девайсу на 4PDA и делается почти везде одинаково
2. установив CWM пробуем войти в него (обычно для этого требуется зажать кнопку включения и увеличения/уменьшения громкости)
3. там выбираем пункт по созданию бэкапов ‘buckup and restore’ и делаем его на флэшку ‘Buckup’ 🙂
4. скачиваем с флэшки на комп файлик data.ext4.tar, он должен быть в папке clockworkmod/backup (в название так же будет фигурировать дата ее создания)

объясню смысл текущего запроса
создаем табличку с колонками normalized_number, display_name на основе таблиц phone_lookup, raw_contacts
при условии, что данные из таблицы phone_lookup и колонки raw_contact_id = данным из таблицы raw_contacts колонки contact_id
исходя из этого кода могу предположить, что:
есть некие таблицы в которых есть колонки, в каждой из которой хранятся однотипные данные, в нашем случае это номера строк, имя и номер телефона
phone_lookup
raw_contact_id | normalized_number
1 |+79001111111
2 |+79002222222
raw_contacts
contact_id | display_name
1 |Вася
2 |Петя

т.е. мы с помощью нашего запроса получаем новую табличку, строки которой формируются из строк двух исходных путем их объединения
причем в одну строку поподают данные где raw_contact_id = contact_id
normalized_number|display_name
+79001111111|Вася
+79002222222|Петя

запросов уйма, т.к. почти в каждой таблице данные дублируются, доставать имя и телефон можно из разных таблиц и колонок, посмотрев все таблички и найдя нужные данные.
Можно на основе данного запроса сделать свой
SELECT ‘колонки через запятую’ FROM ‘таблицы через запятую’ WHERE ‘условие’
‘колонки через запятую’ можно писать в таком виде [таблица].[колонка] квадратные скобки можно опустить, но они могут спасти от ошибок, если вдруг названия таблиц/колонок имеют названия зарезервированных команд. Здесь мы через запятую указываем, какие данные хотим видеть в новой таблице

‘таблицы через запятую’ можно писать в таком виде [таблица]. Здесь мы указываем данные из каких таблиц мы хотим получить

Читайте также:  Компас для грибника для андроид

‘условие’ можно писать в таком виде [таблица1].[колонка1] = [таблица2].[колонка2], так же условий может быть несколько и они пишутся через логические операторы and и or, а так же могут группироваться с помощью круглых скобок. Условия нужны, чтобы объединить данные нескольких таблиц и с их помощью можно задавать фильтры. Например, если мы добавим в конце нашего запроса строку из одинарных кавычек ‘ AND display_name = «Саша»‘, то в нашей таблице окажутся не все контакты из нашего листа, а только номера телефонов людей которых зовут «Саша».

так же я обнаружил в данной базе давно удаленные номера, возможно это будет кому-то интересно.

таким же способом можно достать SMS из файла /data/data/com.android.providers.telephony/databases/mmssms.db
в файле data.ext4.tar лежат все пользовательские файлы, которые вам может понадобиться забрать с девайса

Сообщение отредактировал Gridzilla — 30.09.14, 12:17

Источник

Восстановление файлов android adb

Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021

ADB (Android Debug Bridge — Отладочный мост Android) — инструмент, который устанавливается вместе с Android-SDK и позволяет управлять устройством на базе ОС Android.
Работает на всех Android-устройствах, где данный функционал не был намеренно заблокирован производителем.
Здесь и далее: PC — ПК, компьютер к которому подключено устройство.
ADB — консольное приложение для PC, с помощью которого производится отладка Android устройств, в том числе и эмуляторов.
Работает по принципу клиент-сервер. При первом запуске ADB с любой командой создается сервер в виде системной службы (демона), которая будет прослушивать все команды, посылаемые на порт 5037.
Официальная страница
ADB позволяет:

  • Посмотреть какие устройства подключены и могут работать с ADB.
  • Просматривать логи.
  • Копировать файлы с/на аппарат.
  • Устанавливать/Удалять приложения.
  • Удалять (очищать) раздел data.
  • Прошивать (перезаписывать) раздел data.
  • Осуществлять различные скрипты управления.
  • Управлять некоторыми сетевыми параметрами.

Поставляется ADB в составе инструментария разработчика Андроид (Android SDK), который, в свою очередь входит в состав Android Studio.

Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

Скрытые команды ADB
adb -d Команда посылается только на устройство подключенное через USB.
Внимание: Выдаст ошибку, если подключено больше одного устройства.

adb -e Команда посылается на устройство в эмуляторе.
Внимание: Выдаст ошибку, если подключено больше одного эмулятора.

adb -s Команда посылается на устройство с указанным серийным номером:

adb -p Команда посылается на устройство с указанным именем:
Если ключ -p не указан, используется значение переменной ANDROID_PRODUCT_OUT.

adb devices Список всех подсоединенных устройств.

adb connect [: ] Подсоединиться к андроид хосту по протококу TCP/IP через порт 5555 (по умолчанию, если не задан).

adb disconnect [ [: ]] Отсоединиться от андроид подключенного через TCP/IP порт 5555 (по умолчанию, если не задан).
Если не задан ни один параметр, отключиться от всех активных соединений.

adb push Копировать файл/папку PC->девайс.

adb pull [ ] Копировать файл/папку девайс->PC.

adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.

adb wait-for-device Ждать подключения устройства.

adb start-server Запустить службу/демон.

adb kill-server Остановить службу/демон.

adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.

adb get-serialno Получить серийный номер.

adb status-window Непрерывный опрос состояния.

adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

adb reboot bootloader Перезагрузка в режим bootloader.

adb reboot recovery Перезагрузка в режим recovery.

adb root Перезапуск демона с правами root

adb usb Перезапуск демона, прослушивающего USB.

adb tcpip Перезапуск демона, прослушивающего порт TCP.

adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

Читайте также:  Золотые живые обои для андроид

FastBoot — консольное приложение для PC. Используется для действий над разделами

fastboot devices Список присоединенных устройств в режиме fastboot.
fastboot flash Прошивает файл .img в раздел устройства.

fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.

fastboot update Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot [ ] Скачать и загрузить kernel.

fastboot flash:raw boot [ ] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p

Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n

Указать размер страниц nand. по умолчанию 2048.

Команду logcat можно использовать с машины разработки
$ adb logcat
или из удаленного shell
# logcat Каждое сообщение лога в Android имеет тэг и приоритет
Тэг – это строка указывающая компонент системы, от которого принято сообщение (например: View для системы view)
Приоритет – имеет одно из нижеследующих значений (в порядке от меньшего к большему):
V — Verbose (Низший приоритет).
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (Наивысший приоритет, при котором ничего не выводится).

Получить список тэгов, используемых в системе, вместе с их приоритетами можно запустив logcat. В первых двух столбцах каждого из выведенных сообщений будут указаны / .
Пример выводимого logcat сообщения:
I/ActivityManager( 585): Starting activity: Intent

Для уменьшения вывода лога до приемлемого уровня нужно использовать выражения фильтра. Выражения фильтра позволяют указать системе нужные комбинации и , остальные сообщения система не выводит.
Выражения фильтра имеют следующий формат : . где указывает нужный тэг, указывает минимальный уровень приоритета для выбранного тэга. Сообщения с выбранным тэгом и приоритетом на уровне или выше указанного записываются в лог. Можно использовать любое количество пар : в одном выражении фильтра. Для разделения пар : используется пробел.

Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

Сообщения лога в дополнение к тэгу и приоритету содержат несколько полей метаданных. Можно изменять формат вывода сообщений показывая только конкретные поля метаданных. Для этого используется параметр -v и указывается один из ниже перечисленных форматов вывода.

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

При запуске logcat можно указать формат вывода используя параметр -v:
adb logcat [-v

Источник

Оцените статью