Как скопировать данные с андроида на компьютер через adb

Обновлено: 06.07.2024

Если вы никогда не слышали о Minimal ADB и Fastboot, это простой, но мощный инструмент, который позволяет вам вводить команды для управления вашим Android-телефоном, подключенным через USB.

Некоторые вещи, которые обычные пользователи Android могут захотеть сделать со своими Android, могут показаться слишком сложными. Даже такая простая вещь, как передача файлов на телефон или с него, требует больше действий, чем нужно.

С помощью Minimal ADB и Fastboot вы можете делать такие вещи, как передача файлов, найти серийный номер или даже сделать полную резервную копию вашего телефона с помощью одной простой команды.

Настройка минимального ADB и быстрой загрузки

Минимальные ADB и Fastboot доступны для Windows, MacOS и Linux. Вот руководство по настройке минимального ABD в вашей системе.

После установки Minimal ADB и Fastboot вам просто нужно включить отладку по USB на вашем телефоне. Есть только несколько простых шагов, чтобы сделать это.

Чтобы включить режим разработчика, перейдите в Настройки , нажмите Об устройстве (или О телефоне ) и продолжайте нажимать Номер сборки пока не появится предупреждение о том, что режим разработчика включен.

Еще раз зайдите в Настройки . Теперь вы должны увидеть значок Параметры разработчика . Нажмите на это, прокрутите вниз до отладки USB и включите его.

Выйдите из настроек. Эти изменения позволяют утилите Minimal ADB и Fastboot подключаться к вашему телефону и управлять им.

Теперь вы готовы начать вводить команды на свой телефон.

Просто подключите свой телефон Android к компьютеру с помощью USB-кабеля, а затем запустите Minimal ADB и Fastboot. Вы увидите всплывающее окно команд.

Чтобы проверить, могут ли Minimal ADB и Fastboot взаимодействовать с вашим телефоном, просто введите команду: adb devices .

В разделе Список подключенных устройств рядом со словом устройство вы увидите случайный код.

Это означает, что утилиты Minimal ADB и Fastboot могут видеть ваш телефон, и вы готовы начать вводить полезные команды.

Передача файлов на и с вашего телефона

Существует много способов перемещения файлов и данных между телефоном Android и другими устройствами. Однако большинство из этих методов требуют нескольких шагов или сложных соединений.

С Minimal ADB и Fastboot, как только вы настроите свой компьютер и телефон один раз, чтобы разрешить команды ADB, вам больше никогда не потребуется настраивать его снова.

Передача файлов так же проста, как ввод одной простой команды, и файлы передаются.

Откройте Minimal ADB и Fastboot и убедитесь, что он видит ваше устройство, введя команду adb devices .

Если вы знаете путь, по которому находится ваш файл (например, изображение), вы можете ввести полную команду, включая источник и место назначения, например:

adb pull /sdcard/dcim/camera/20181224_131245.jpg c:/temp/pictures/

Вы увидите статус, показывающий успешно извлеченный файл.

Вы можете найти переданный файл во втором каталоге, который вы указали.

Таким же образом вы можете перемещать файлы со своего компьютера на телефон с помощью одной простой команды. Просто поменяйте местами каталоги источника и назначения.

Например, чтобы поместить изображение с вашего компьютера на телефон, просто введите adb push c: \ temp \ pictures \ mypicture.jpg/sdcard/dcim/pictures .

Это создаст копию файла на вашем телефоне в каталоге/sdcard/dcim/pictures.

Навигация по папкам на вашем телефоне

Если вы не знаете путь к файлу на своем устройстве Android, вы можете использовать специальные команды, называемые командами adb shell , чтобы найти файл.

Есть несколько команд оболочки, которые могут быть очень полезны для навигации по папкам на вашем телефоне.

  • ls . Содержит список содержимого каталога.
  • cd : изменяет каталог.
  • rm . Удалите файлы или каталоги.
  • mkdir : создайте новый каталог.
  • cp : копировать файлы или каталоги.
  • mv : перемещать или переименовывать файлы.

С помощью команды оболочки adb вы можете объединить эти команды, разделив их точкой с запятой.

Например, чтобы перейти в каталог на телефоне, чтобы найти фотографии:

Введите adb shell ls , чтобы увидеть все каталоги на вашем телефоне.

Введите adb shell cd sdcard; ls , чтобы перейти в каталог sdcard и просмотреть все файлы там. Каждая команда, разделенная точкой с запятой, выполняется последовательно.

Продолжайте добавлять команду, чтобы глубже переходить в подкаталоги, пока не найдете нужные файлы. Например, введите adb shell cd sdcard; cd dcim; cd камера; ls покажет вам все фотографии, сделанные на вашей камере.

Найдя нужные файлы, вы можете выполнить команду adb pull , описанную в предыдущем разделе, чтобы перенести эти файлы на ваш компьютер.

Удаленная установка или удаление приложений Android

Google Store автоматически передает установочный файл (известный как файл APK) на ваш телефон и запускает его. Все это происходит автоматически и за кадром.

Однако на многих сайтах можно загрузить приложения, недоступные в Google Play. Они позволяют вам загрузить файл APK на ваш компьютер. Затем вы можете удаленно установить APK на свой телефон с помощью простой команды abd install .

Вот как это работает:

Включите установку неизвестных приложений на вашем телефоне. На Android Nougat вы найдете это в разделе Настройки , нажмите Безопасность и включите Неизвестные источники . В Android Oreo вы найдете это в разделе Настройки , нажмите Приложения и уведомления и выберите Установить неизвестные приложения .

Наконец, подключив телефон к компьютеру, запустите Minimal ABD и Fastboot. В командной строке введите команду adb install .apk .

Эта команда автоматически передает файл APK на устройство Android, а затем запускает установщик. После завершения установки вы увидите приложение в списке приложений, установленных на вашем телефоне.

Вы также можете удалить приложения с помощью команды adb uninstall . Но прежде чем вы сможете это сделать, вам нужно знать полное имя пакета приложения, установленного на вашем телефоне.

Просмотрите все пакеты, установленные на вашем телефоне, введя список пакетов adb shell pm list .

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

Удалите приложение, набрав adb uninstall.

Замените на полное имя пакета приложения, который вы нашли в списке.

После запуска команды вы увидите слово «успех». Приложение исчезнет из списка приложений на вашем телефоне Android.

Сделайте полную резервную копию вашего телефона

У вас когда-нибудь умирал телефон на Android, и вы все потеряли на нем?

Для людей, которые все время используют свой телефон для фото и работы, такой сценарий может показаться настоящей катастрофой. Избегайте этого, используя ADB Minimal и Fastboot, чтобы сохранить полную резервную копию на вашем компьютере.

Процесс проще, чем вы думаете.

У команды adb backup есть список параметров, которые вам, возможно, никогда не понадобятся, поскольку простой ввод команды adb backup поможет найти параметры по умолчанию.

Эти параметры включают в себя:

  • -f : укажите место, где вы хотите сохранить резервную копию на вашем компьютере.
  • -apk | -noapk . Укажите, следует ли создавать резервную копию каждого APK-файла для установленных приложений.
  • -shared | -noshared : также создайте резервную копию общего хранилища (например, SD-карты).
  • -all . Создайте резервные копии всех приложений, а не только отдельных.
  • -system | nosystem : укажите, следует ли создавать резервную копию системных приложений.
  • . Определите отдельные пакеты приложений для резервного копирования.

Команда для этого:

Резервное копирование adb -apk -all -f C: \ temp \ phone_backup \ Samsung_Backup.ab

Это вызовет запрос, в котором вы подтвердите полную резервную копию и зашифруете ее, если хотите.

Как только вы подтвердите, начнется полное резервное копирование.

Для полного резервного копирования может потребоваться несколько минут.

Когда это произойдет, вы можете найти файл полной резервной копии по указанному вами пути.

Если ваш телефон когда-либо умирает, и вы теряете на нем все, после ремонта телефона вы можете выполнить полное восстановление, набрав команду:

adb restore .ab

Это загрузит вашу полную резервную копию обратно на телефон и восстановит все обратно в нормальное состояние. Если вы выбрали резервное копирование файлов APK, даже все исходные приложения будут переустановлены.

Получить информацию о вашем телефоне

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

С помощью Minimal ADB и Fastboot вы можете получать различную информацию о вашем телефоне.

  • adb shell ip -f inet addr show wlan0 . Предоставляет текущий IP-адрес вашего телефона в сети.
  • Оболочка adb getprop ro.boot.serialno . Показывает серийный номер вашего телефона.
  • adb shell getprop ro.build.version.release : отображает версию ОС Android, установленную на вашем телефоне.
  • netstat оболочки adb . Показывает все текущие сетевые подключения, которые в данный момент активны с вашего телефона.

Команда adb shell getprop дает вам доступ к огромному количеству подробностей о вашем телефоне в дополнение к серийному номеру и выпуску ОС. Чтобы увидеть всю коллекцию, просто введите adb shell getprop, и вы увидите список всех деталей, включая текущее значение.

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

Использование минимального ADB и Fastboot

Нередко пользователям Android-телефонов, которые не являются разработчиками, понадобится приложение из командной строки. Однако Minimal ABD и Fastboot очень разные.

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

Тема поможет вам найти ответы на такие вопросы как:

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

Насколько я понимаю, расположение универсальное для разных версий андроид 4 5 6 7 8 9 10 и скорее всего, даже андроид 11, с той разницей что там появляются изолированные индивидуальные хранилища scoped storage для каждого приложения - чтобы не подглядывали)

Начну с тех директорий, которые доступны без Рута (сохранения игр зачастую там не хранятся):
А именно это флешка, и внутреннее хранилище, в которое обычно сохраняются фотографии (папка DCIM).
Разные приложения могут создавать свою папку в корне,

например WhatsApp, создает папку WhatsApp но восстановить с нее у меня не получилось - нужно сохранять в облако через само приложение.

И наконец, то, что нас может заинтересовать, папка Android, в которой может храниться информация и кеш с игр (внутри папки obb). Но опять же, важные данные они тут обычно не хранят.

Самое интересное (нужное) хранится в разделе data, получить доступ туда можно при помощи Рут привилегий для root файлового менеджера, например total commander.
Зайдя с его помощью в корневую папку вы увидите разделы устройства и символические ссылки.
Раздел data.
Итак, из чего он состоит?
А состоит он, из двух отделений, из самого раздела data, где и находится почти вся инфа на телефоне и из внутренней папки media, которую вы знаете как "внутренняя память", к которой у вас есть доступ и без Рута.

Чтобы не путаться, стоит упомянуть о "символических ссылках", которые не что иное как ярлык со своим названием, который ведет к определенной папке, например
/storage/emulated/<0> ведет к вышеописанной /data/media

Хорошо,зашли мы в /data и там куча других папок, что в них?

А из них нам могут быть интересны такие:
/data/user/0 это символическая ссылка 0 профиля, то есть профиля владельца устройства ведущая на самом деле к настоящей папке /data/data

Есть в прошивках MIUI такая функция как второе пространство.
Это типа когда ты можешь дать другу телефон, и не боятся что он будет играть в твои игры или смотреть твои фотки.

Так вот, где хранятся данные второго пользователя?
Как раз таки тут в том числе, в
/data/user/и номер отличный от 0, (в папке user_de системные приложения)
Кстати, там же хранятся данные клонированного приложения первого пользователя.

Так вот тут в этой дата/дата и будут сейвы и прочее,
но как теперь найти приложение которое я ищу?
Вам нужно узнать имя установленного пакета приложения:
На моей прошивке, имя пакета можно узнать в свойствах приложения (настройки телефона, приложения, о приложении)
Например Вацап будет хранить свои данные в папке com.whatsapp

Эту то папку вы и захотите сохранить.

Еще вам может понадобиться само приложение, .APK оно находится в /data/app

Кроме этого, еще может понадобиться obb кеш, который игра часто докачивает сама из интернета. Об том где его достать я писал в начале - внутренняя память ,андроид, затем папка обб /storage/emulated/<user_id>/Android/obb

В тотал коммандере, если нажать кнопку поиска, в строке поиска будет звездочка - это регулярное выражение, использовать так:
Допустим надо вам найти папку содержащую слово kiwi, и не важно что еще спереди и сзади, поэтому пишите так
*kiwi*
И найдутся папки содержащие это слово где угодно.
На практике это полезно чтобы находить имя пакета приложения в папке app, так как там оно обычно с добавочной вставкой сбоку, для уникальности, а не для того, чтобы поиск ее не нашел.

Бэкап программ без root

Программ не требующих рут доступа не так уж и много, одна из них Helium, которая впрочем, требует для работы компьютер. Helium

В качестве альтернативы, можно синхронизировать часть данных: Сначала сохранить все что нужно, например, в облако через синхронизацию с - гугл аккаунтом и гугл диском. Таким образом можно сохранить лишь часть информации, например телефонные номера, фотографии, приложения и игры, в которых есть функция синхронизации с "Google play игры", подробней тут.

Если же вам требуется полный бекап лишь некоторых игр или приложений, которые не сохраняются в облаке или если вам нужен lucky patcher чтобы взламывать игры, но рут получать не хочется, подойдёт виртуальная среда с рутом - это как андроид в Андроиде)
VMOS Virtual Android on Android - Double Your System

Туда можно установить те же приложения и игры, + программу для бэкапа (хотя и встроенный бекап там есть, но вам надо проверить, сохраняет ли он то, что нужно) Для начала, вам следует понимать, что полная резервная копия часто не возможна без root доступа.
Поэтому, когда все нужное сохранено, можете установить кастом Рекавери, например:
TWRP или CWM.

Обычно для этого требуется разблокировать загрузчик устройства, после чего вся информация которая не была сохранена будет утеряна. Подробнее вы можете найти в теме вашего устройства на 4pda.

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

Если вы забрались так далеко, можете в теме вашего устройства посмотреть другие прошивки, на случай, если ваше устройства давно не обновлялось, и у него старые патчи безопасности. Обновление системы безопасности Android

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

Обычно бэкапят Data, System, Boot и Vendor (если есть). Есть и другие разделы, содержащие например IMEI, об этом ниже:
Так же может присутствовать "внутренний накопитель" или internal storage (user data), это все эти файлы и папки которые вы видите в памяти телефона без Рут доступа, но кастом рекавери разделил таким образом Data и Data/media.

Не много подробнее о назначении разделов:
Boot - Загрузка андроида начинается с раздела boot - там хранится в том числе ядро системы.

System - Затем загружается прошивка - system. Часто ее можно скачать отдельно, так что потерять в принципе не жалко.

Vendor раздел отвечает за правильную работу устройства, он тоже часто идет вместе с прошивкой, так что его можно достать из официальной прошивки с сайта производителя или на странице вашего устройства на 4пда

Ну и Data это конкретно ваша инфа, приложения настройки и сохранения игр все тут) Как я уже писал, бывает Рекавери разделяет дату и внутренний накопитель (Data/media), так вот, на внутреннем накопителе хранится то, что вы и сами могли видеть в памяти телефона фотки и тд.
Еще тут описывал, что там хранится.

Надо учитывать, что data раздел обычно зашифрован, в заводском состоянии, поэтому с помощью кастом Рекавери его форматируют и потом уже загружают прошивку.

Часто не лишним будет сохранить и другие важные разделы, на всякий случай:
EFS - Тут хранятся WiFi/BlueTooth MAC’s, IMEI, в общем все то, что вы не хотели бы потерять) (Схема с восстановлением, (MODEMST1, MODEMST2, FSG, BACKUP) где fsg или backup соответственно хранят инфу модемов на случай утери)

Persist - Этот раздел содержит данные калибровки сенсоров wifi, bluetooth, camera, DRM , sns.reg, и тд, тоже

Например у меня после смены прошивок поменялся Persist раздел, и при перезагрузке телефона писалось "Хранилище повреждено, устройство под угрозой (в опасности)"
Восстановление раздела из бэкапа помогло.

Ну и всякое прочее, вроде
CUST (так же CUSTOM или PRELOAD в некоторых случаях) - Предзагруженные приложения и региональные настройки, устанавливаемые при первом запуске. Иногда при смене прошивки на кастом нужно очистить этот раздел.
MISC (FOTA на старых устройствах) - Раздел на котором хранится информация для bootloader, что за чем загружать, или запустить рекавери, если OTA обновление не удалось. Если удалить, система будет грузится как обычно, то есть boot затем system.

Есть такие приложения для бэкапа данных с использованием Рут прав, например ® Titanium Backup
Однако, стоит учесть, что он не бэкапит папки приложения размещенные в общедоступной памяти телефона, т.е. (data/media)

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

Отдельно хочу отметить молодое (могут присутствовать баги) приложение, которое может создавать резервные копии пригодные для восстановления через кастом Рекавери, TWRP:
®Migrate
Удобно, когда нужно перенести данные на другую прошивку.

Когда Рут есть, можно так же с помощью ADB пробовать. (Или Adb Run)

Для аппаратов на базе SoC Qualcomm HDDRawCopy eMMC RAW Tool

Владельцам устройств с процессорами МТК при наличии пк можно скопировать полный образ всех данных (вообще всех) через flashtool

Готовый raw образ можно разбить на разделы и сконвертировать в пригодный для последующей прошивки вид с помощью этой утилиты
WwR MTK
Но чтобы прошить через ADB надо будет различить бутлоадер, или загрузчик, по нашему)

Надо учитывать что без форматирования через кастом Рекавери data раздел будет зашифрован, а пароля вы конечно не знаете)
Поэтому такой бэкап можно использовать (восстанавливать) в исходном виде, или использовать не зашифрованные разделы.

А так, кастом Рекавери может все стереть, а заодно и шифрование, чтобы в будущем бэкап был читаемым.

И вот для устройств с процессором Qualcomm и emmc памятью.

Работа с программой:https://freeandroidroo…download-emmc-dl-tool/
Проверено на RN3P, но может быть использован с другими компании Qualcomm-устройств.
emmcdl использует "знакомый" модуль для взаимодействия с внутренней памяти устройства в режим 9008/edl. С prog_emmc_firehose_8976_ddr.mbn от "быстрой загрузки" прошивки, считывание/запись Таблица разделов и разделов (в том числе энергонезависимой, как modemst1/2,fsg etc.).
В этом списке раздела, успешно восстанавливаются IMEI телефона, MАС-адреса и статус загрузчика разблокировки после случайного повреждения памяти.
Может быть использован для создания файлов rawprogram0.xml прошивки с помощью MiFlash (рекомендуется) или другая утилита от Qualcomm.
qcpartsbackup11.7z (73.11 КБ)

. Не для новичков! Взято отсюда.

Как сохранить резервную копию сразу на компьютер.
Очень полезно в тех случаях, когда под рукой нет подходящего размера флешки.
Можно конечно в кастом Рекавери смонтировать OTG накопитель, типа внешнего жесткого диска, но это такое.

При помощи ADB:
ADB и все, что с помощью него можно сделать
Или утилита в которой не надо вручную вводить команды
® Adb Run

Через кастом Рекавери:
Смонтируйте разделы, и скопируйте с помощью ADB.

Для удобства, на пк я использую файловый менеджер total Commander с плагином adb.
Разделы видятся как папки, соответственно скопировать можно файлы внутри.

Адб работает и без кастомного Рекавери с включенной отладкой по USB, но в этом случае может не хватить прав, чтобы работать с системными файлами.

Хотелось бы больше и лучше, поэтому если есть желание - делитесь.

Кому не понятно, напишите понятно и добавьте в шапку)

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

PS
Передавать данные на пк в режиме "передача данных" (MTP) может быть небезопасно если кабель не качественный, поэтому лучше пользуйтесь ADB (я например, активирую режим отладки в телефоне, подключаю к пк, и в качестве файлового менеджера использую Total Commander с плагином ADB, режим Native 8.1. При этом, при первом подключении нужно на телефоне нажать разрешить этому компьютеру отладку, если спросит.

Пс
Что делать, если раздел system только для чтения? Ответ

Доброго времени суток.

Добавлено 18.06.2020, 14:56:

Сейчас всё больше смартфонов идут без слота для sd-card, и информацию приходится хранить на встроенной памяти с доступом к ней по MTP. Такой режим подключения не позволяет стандартными средствами восстановить данные телефона после wipe’а или случайного удаления.

Сегодня на примере связки Xiaomi Mi2s и Windows 8.1 я постараюсь рассказать, как можно восстановить утерянные данные, кому интересно, добро пожаловать под кат.

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

Протокол MTP не позволяет компьютеру распознать подключенный девайс как USB-накопитель и программы для восстановления не могут просканировать такое устройство и спасти данные, поэтому нам потребуется скопировать весь внутренний раздел памяти в виде образа системы.

Подготовка Android-устройства

Вам понадобится root и включенная отладка по USB.

Подготовка PC

Для того, чтобы скопировать раздел системы, нам понадобится:

VHDtool

Создаём папку с адресом C:\cygwin64\000 (имя не имеет значения, не стоит только использовать буквы отличные от латиницы), здесь будет лежать наш образ. Копируем в папку VHDtool.exe.

FileZilla

В ходе инсталяции соглашаемся на все стандартные установки.
После установки FileZilla запустится автоматом, но из программы необходимо выйти и запустить её от имени Администратора.
При запуске FileZilla спросит имя сервера, оставляем всё как есть.


Далее заходим Edit — Settings и делаем следующие настройки:

listen on those ports 40
timeout settings — по умолчанию стоит 120, 60, 60, а мы ставим везде 0 и нажимаем ОК.
Заходим в edit — users. В окошке users создаем нового юзера. В моем случае это юзер qwer.
Нажимаем Add — пишем имя — пароль pass — нажимаем ОК.

Далее в том же меню Users, слева выбираем закладку Shared folders. Заходим туда и добавляем папку в которую будет заливаться наш блок. Нажимаем Add и добавляем папку C:\cygwin64\000. В окошке появится путь к этой папке. Если слева от надписи C:\cygwin64\000 не будет буквы H, то нужно нажать Set as home dir. Затем выделив строчку C:\cygwin64\000 нужно отметить права Read и Write галочками. Затем нажать ОК.



  • adb.exe
  • AdbWinApi.dll
  • adb-windows.exe
  • AdbWinUsbApi.dll
  • fastboot.exe

Копируем их в папку C:\cygwin64\bin

Проверка работы ADB


Запускаем консоль из папки C:\cygwin64\bin, для этого достаточно вписать cmd в адресную строку проводника

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

Когда всё идет хорошо, консоль выглядит так:


20352f2c – мой Xiaomi Mi2s

Режим модема по USB


Нам понадобится подключить аппарат по USB к вашему ПК и включить режим модема по USB. Я использую CyanogenMod 11 и у меня этот режим находится по пути: Настройки > Беспроводные сети > Ещё… > Режим модема > USB-модем


Теперь нам необходимо узнать, какой IPv4 адрес получил ваш компьютер.
Используем команду ipconfig в командной строке
или
Идем по пути: Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом


Кликаем по надписи ’Подключение по локальной сети’ далее Сведения и копируем адрес IPv4.


В моём случае это 192.168.42.79

Важно! При каждом переподключении USB кабеля и вкл/выкл режима модема IPv4 будет меняться.

Какой блок памяти нам нужен?

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

Теперь нам необходимо посмотреть список блоков памяти, для этого вводим построчно следующие команды:


Hint: если вам лень вручную переписывать команды или вы боитесь допустить ошибку, то можно воспользоваться копированием, но вставить привычным способом строчку в консоль не выйдет, поэтому необходимо кликнуть правой кнопкой мыши по окну консоли, далее выбрать изменить > вставить.


После чего во внутренней памяти появится файл list_of_partitions.txt, который нам необходимо скопировать на ПК и изучить.
Скопировать его можно в нашу папку 000 с помощью простой команды (выполнять её следует в отдельном окне командной строки):

Внутренней памяти в моём аппарате 32 GB. Поэтому я ищу самый большой раздел, в моём случае это mmcblk0p27 размером 25,6 GB, у вас он скорее всего будет иметь другое имя, или вообще не будет иметь приписки p**. Безусловно, никто не гарантирует что именно самый большой раздел окажется тем самым на котором еще совсем недавно лежали ваши фото, видео, документы и тд., но в 90% случаев это оказывается именно тот раздел памяти который нам нужен. В противном случае вам придется по порядку копировать все образы и проверять каждый из них.

Копируем раздел памяти на ПК.

Если вы уже закрыли окно cmd, то запускаем его снова.

Вводим команды построчно:


Не забудьте внести соответствующие корректировки в код!

qwer – имя учетной записи в FileZilla (у вас свой если меняли)
pass – пароль от учетной записи в FileZilla (у вас свой если меняли)
40 – порт сервера FileZilla
192.168.42.79 – адрес сервера FileZilla (у вас свой)
mmcblk0p27.raw – копируемый блок памяти (у вас свой)


Открываем второе окно командной строки и вводим команды:

Смотрим в окно FileZilla и видим, что скачивание mmcblk0p27.raw в папку C:\cygwin64\000 началось, теперь можно закрыть окна cygwin и сделать перерыв на чай.


Конвертируем и восстанавливаем

Вернулись? Файл скачался? Отлично. Отключаем телефон, подключаем интернет. Запускаем Cygwin.bat и вводим следующие команды.

У меня конвертирование заняло пару секунд. На выходе у нас получается всё тот же файл mmcblk0p27.raw в папке C:\cygwin64\000, но уже немного другой. Этот сконвертированный файл можно смонтировать как виртуальный диск, или, например через R-studio, произвести восстановление данных непосредственно из нашего образа. Я так и поступил.



Hint: важные моменты пометил желтым.

Итоги

Моей целью было популярным языком объяснить способ копирования системного раздела с android-девайса на ПК, возможно, некоторые упрекнут меня в сложностях, связанных с USB-модемом и ftp, и скажут, что наверняка можно было проще вытащить образ. Отвечу так: я пробовал другими способами, описанными на 4pda и xda-developers, у меня не вышло, зато с ftp получилось со второй попытки, а входе написания статьи всё вообще прошло как по маслу.

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

В завершении хочется также упомянуть еще одну небольшую утилиту, которая восстанавливает данные — DiskDigger undelete. Она бесплатная, неплохой функционал, но к сожалению, после 40% она у меня вывалилась с ошибкой.

Искали подробную статью, о том как сделать резервное копирование Android с помощью ADB? Рассказываем вам как пользоваться командами adb backup и adb restore! Переходите на сайт Android +1!

Как сделать бэкап через adb?

Для того, чтобы сделать backup android через компьютер, вам необходимо выполнить небольшую подготовительную работу:

    и устанавливаем, советуем использовать версию Android + с инсталлятором, чтобы избежать многих ошибок

Теперь можно выполнять резервное копирование!

ADB Backup

  • Создать резервную копию Android (только данные, без APK приложений):

adb backup -all -f data.ab

adb backup

Во время создания резервной копии, подтвердите действие на Android

  • Создать резервную копию Android (данные и APK приложения):

adb backup -apk -all -f adb.ab

  • Для того, чтобы добавить карту памяти, используйте аргумент -shared (карта памяти, данные и APK приложения):

adb backup -apk -all -shared -f adb.ab

  • Чтобы исключить системное ПО, используйте аргумент -nosystem (карта памяти, данные и APK приложения, без системных):

adb backup -apk -shared -nosystem -f adb.ab

  • Включить кеш в бекап, добавьте аргумент -obb (карта памяти, кеш, данные и APK приложения, без системных)

adb backup -apk -shared -nosystem -obb -f adb.ab

Рекомендую выполнять бэкап Android на компьютер с помощью команды adb backup -apk -shared -nosystem -f adb.ab , так как карту памяти можно скопировать всегда отдельно!

ADB Restore

В отличие от команды adb backup, команда adb restore не имеет каких либо дополнительных аргументов, тут все просто:

adb restore adb.ab

У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Android. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!

Если у вас есть смартфон с операционной системой Android и вы часто с ним экспериментируете, что-то настраиваете или перепрошиваете, то, скорее всего, вы уже знакомы с инструментом ADB или (Android Debug Bridge). Это программа для управления смартфоном через компьютер по USB, которая содержит множество полезных команд.

Вы можете просматривать журналы, устанавливать и удалять приложения, управлять устройством и выполнять множество других полезных команд. Из этой статьи вы узнаете как пользоваться ADB в Linux, мы рассмотрим полезные команды ADB для пользователей Android и подробно разберем эту утилиту. Но сначала рассмотрим как установить сам инструмент на компьютер.

Установка ADB в Linux

Программа ADB входит в стандартный набор утилит Android SDK. Вы можете установить эту среду и получите нужную утилиту. Но не всегда хочется тянуть на компьютер целую среду исполнения. Иногда нужна только одна программа. Ее можно очень просто установить отдельно. В Ubuntu для этого можно выполнить команду:

sudo apt install android-tools-adb

Для Red Hat, CentOS команда будет немного отличаться:

sudo yum install android-tools-adb

Если вам нужно установить ADB в Windows, то придется скачать пакет SDK Platform Tools из официального сайта.

Подготовка смартфона

Для того чтобы вы смогли использовать adb вместе со своим смартфоном вам необходимо включить режим отладки по USB. Эта возможность скрыта во всех версиях Android начиная с 4.2. Чтобы стать разработчиком сначала зайдите в "Настройки" -> "О телефоне" и семь раз нажмите на пункте "Номер сборки":



Затем в главном меню настроек появится пункт "Для разработчиков":


Тут необходимо поставить галочку напротив раздела "Разрешить отладку по USB":



Теперь ваш телефон готов к работе с adb. Подключите его по USB к вашему компьютеру и начнем работать.

Полезные команды ADB

Перед тем как мы сможем управлять устройством, необходимо еще кое-что сделать. Команде adb требуется специальная служба для связи с Android необходимо ее запустить. Для этого используйте такую команду:


После завершения работы вы можете отключить службу чтобы она не потребляла лишние ресурсы:

Теперь можно выполнять adb команды для android.

Список устройств

Первым делом, посмотрим список подключенных устройств к нашему компьютеру. Для этого используется команда devices:


Если к системе подключено несколько смартфонов, то по умолчанию действия будут применяться к первому. Но вы можете задать нужное имя устройства с помощью опции -s. Например:

adb -s 0123456789ABCDEF logcat

Также указать имя устройства, к которому необходимо применять команды программы adb можно с помощью переменной ANDROID_SERIAL:

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

Состояние устройства

С помощью команды get-state вы можете узнать состояние устройства:


Команда вернет одно из значений: device - работает, bootloader - загружается, offline - выключено. С помощью команды status-window можно постоянно отслеживать состояние:


Просмотр журналов

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


С помощью опции -c можно очистить все логи на устройстве:

adb logcat com android.settings

adb logcat com android.settings:E

Или выведем только ошибки для всей системы целиком:


Передача файлов на устройство

$ adb push /адрес/локального/файла /адрес/удаленного/файла

Например, загрузим файл из домашней папки на устройство:


Файл будет мгновенно передан на устройство и вы можете в этом убедиться. Дополнительно можно использовать опцию -p для отображения прогресса, а также опцию -a чтобы сохранить оригинальный timestamp.

Загрузка файла с устройства

Таким же образом вы можете скачать файл с устройства. Синтаксис команды pull:

$ adb push /адрес/удаленного/файла /адрес/локального/файла

Например, скопируем отправленный файл обратно:

adb pull /sdcard/file

Установка приложений

С помощью adb можно напрямую устанавливать приложения. Эта возможность может быть очень удобной для разработчиков. Команде install нужно передать только адрес apk файла:


После этого приложение установлено и готово к работе на вашем устройстве. Если вам нужно обновить приложение до более новой версии, тогда используйте опцию -r. Это очень важно. Иначе получите ошибку:

Еще доступны опции -s - для установки на флешку и -d - для понижения версии программы.

Удаление приложений

Удалить приложение тоже очень просто. Для этого достаточно передать имя его пакета команде uninstall. Например, удалим браузер Firefox:

adb uninstall org.mozilla.firefox

Резервное копирование

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

$ adb backup опции пакеты

Опции указывают какие данные нужно копировать. Каждая опция может иметь приставку no, которая означает, что эти данные копировать не нужно. Рассмотрим основные опции:

  • -apk - сохранять apk файлы для программ, по умолчанию отключено;
  • -obb - сохранять расширения установленные расширения apk файлов в формате obb. По умолчанию отключено;
  • -shared - сохранять данные приложений из SD карты или памяти телефона, отключено;
  • -all - сохранить все установленные приложения;
  • -system - сохранить системные приложения, эти приложения уже входят в список all.

Последний параметр позволяет указать какие приложения нужно сохранять. Если указана опция all, то, естественно, что этот параметр не нужен. Таким образом, команда для резервного копирования системы будет выглядеть вот так:

adb backup -apk -obb -shared -all -f backup.ab


С помощью опции -f мы задаем имя файла архива, он будет сохранен в текущей папке. Если его не задать, то имя по умолчанию будет backup.ab. Вам нужно будет подтвердить создание копии на телефоне, можно ввести пароль для шифрования:


Для восстановления из резервной копии используйте команду restore. Ей достаточно передать адрес файла:

adb restore android.ab

Перезагрузка устройства

В утилиты adb есть даже команды для перезагрузки устройства. Можно просто перезагрузить смартфон с помощью команды reboot:

Можно загрузиться в режим recovery:

adb reboot recovery

Или в режим настройки загрузчика:

adb reboot bootloader

Консоль Android

С помощью команды shell вы можете войти в консоль Android и выполнять там необходимые действия. Здесь доступно большинство привычных нам команд linux. Мы подробно рассматривали все доступные команды в статье команды Android Terminal Emulator. Сейчас же поговорим про саму команду shell и приведем несколько примеров. Чтобы войти в консоль наберите:


Дальше откроется командная строка adb на Android. Если вам не нужна консоль, а нужно только выполнить команду и вернуть результат, то вы можете передать команду сразу после shell:

adb shell ls /system


Например, с помощью такой команды вы можете сделать снимок экрана:

adb shell screencap -p /sdcard/screenshot.jpg

А так можно снять экран смартфона на видео:

adb shell screenrecord /sdcard/video.mp4

Выводы

В этой статье мы рассмотрели как пользоваться утилитой adb для управления Android смартфоном, а также основные команды программы adb, которые вы можете применять. Команды adb shell - это те же команды, что вы можете выполнять в терминале Android, поэтому нет смысла их разбирать еще раз. Надеюсь, информация из этой статьи была вам полезной.

Читайте также: