Копирование файлов через adb
- Посмотреть какие устройства подключены и могут работать с ADB.
- Просматривать логи.
- Копировать файлы с/на аппарат.
- Устанавливать/Удалять приложения.
- Удалять (очищать) раздел data.
- Прошивать (перезаписывать) раздел data.
- Осуществлять различные скрипты управления.
- Управлять некоторыми сетевыми параметрами.
Распаковываем архив (рекомендуется распаковывать в корень диска или в другую папку, не содержащую русских букв и пробелов в пути). Например: C:\\adb
Настройки соединения, устройства. Драйверы.
Настраиваем телефон.
Для этого перейдите в: "Настройки" - "О телефоне" - 7 раз нажмите на номер сборки. В настройках для разработчиков активируйте отладку по USB.
При подключении USB-кабеля выбираем "Передача файлов".
Проверяем соединение на компьютере.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Проверьте доступность устройства и правильность установки драйверов. Для этого выполните adb или fastboot команду:
Если все хорошо, драйвера успешно установлены и телефон правильно подключен - вы увидите следующий ответ:
Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.
Так как adb/fastboot - консольные утилиты, работать с ними надо из командной строки.
Перейдите в, раннее распакованную, папку с утилитами. В ней, в адресной строке папки, сверху, напишите - "cmd" (без кавычек) и нажмите Enter.
Далее работаем посредством нужных вам команд.
Скрытые команды 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 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.
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash radio radio.img
fastboot reboot
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash userdata data.img
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot
@echo off
adb devices
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot oem writecid 11111111
fastboot reboot-bootloader
fastboot getvar cid
fastboot reboot
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash recovery recovery.img
fastboot reboot
@echo off
fastboot reboot-bootloader
echo После загрузки bootloader нажмите любую клавишу.
pause
fastboot flash boot boot.img
fastboot reboot
Если 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.
Контроль формата вывода лога
Просмотр альтернативного буфера лога
Просмотр stdout и stderr
ˇ
Скрипты на shell под Android
adb shell Команда посылается через shell
Пример: adb shell rm -r /system/sd/app Удаление приложений, установленных на карту памяти.
Пример: adb shell rm -r /system/sd/app-private Удаление приложений, установленных на карту памяти в раздел private.
Пример: adb shell cat /proc/mtd Выдаст информацию о разделах внутренней памяти девайса.
Выдаст что-то вроде:
dev: size erasesize name
mtd0: 000a0000 00020000 "misc"
mtd1: 00420000 00020000 "recovery"
mtd2: 002c0000 00020000 "boot"
mtd3: 0fa00000 00020000 "system"
mtd4: 02800000 00020000 "cache"
mtd5: 0af20000 00020000 "userdata"
Пример: adb shell df Выдаст информацию о свободных ресурсах в разделах памяти аппарата.
Выдаст что-то вроде:
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 160664 0 160664 0% /dev
/dev/block/mtdblock4 40960 1292 39668 3% /cache
/dev/block/mtdblock3 256000 146888 109112 57% /system
/dev/block/mtdblock5 179328 125728 53600 70% /data
/dev/block/mmcblk0p1 15521280 10056880 5464400 65% /sdcard
Создаем в папке с ADB файл с расширением .cmd или .bat (проверяем что .cmd или .bat это расширение файла а не его имя) и пишем туда:
скопировать блок (задаем блок и выходящие имя)
узнать какие блоки то в общем есть
Пример:
adb shell mount -o rw /dev/block/mtdblock3 /system
adb shell mount -o rw /dev/block/mtdblock5 /data
Монтировать разделы /system и /data в режиме ClockworkMod recovery.
разблокировать от графического ключа на блокировке (после команды ввести любой жест)
Многие из нас уже знакомы с ADB (Android Debug Bridge), поскольку, будучи владельцем Android устройства, довольно часто приходится выполнять такие простые действия, как adb push и pull, или adb reboot и т.д. Но для многих начинающих пользователей один только вид командной строки уже пугает, и кажется запредельно возможным. Хотя на самом деле всё довольно просто, опытные пользователи не дадут мне соврать, а самая большая сложность заключается в том, чтобы запомнить все эти команды, хотя это тоже не обязательно делать, поскольку Интернет всегда под рукой и найти нужную команду не составляет труда.
Android Debug Bridge, который является частью эмулятора Android SDK, позволяет осуществлять связь между Вашим компьютером и подключенным к нему Android устройством, кстати если нужен какой то софт, то программы на ноутбук скачать бесплатно можно здесь. Что я могу делать с помощью ADB? Возможности у него довольно широкие, например, самые популярные действия: копировать файлы с Android устройства на компьютер, заливать файлы с компьютера на Android, выполнять множество Linux команд, получать отчеты об ошибках и т.д.
Поэтому, если Вы новичок в этом деле и хотите узнать немного больше об ADB, чем просто что это такое, тогда предлагаю Вам ознакомится с моим небольшим базовым пособием по изучению ADB.
Что понадобится
1. Android Debug Bridge (ADB) для Windows 32bit – скачать
2. Android Debug Bridge (ADB) для Windows 64bit – скачать
3. Компьютер с установленной Windows ОС.
Теперь переходим к активной фазе:
1. Скачиваем нужный zip архив и извлекаем его куда Вам будет угодно, например, диск С.
2. Теперь переходим в директорию C:/adb/sdk/platform-tools. Здесь вы найдете набор файлов, как показано на картинке ниже.
3. Зажимаем кнопку Shift + правый клик мышью и запускаем командную строку Windows с текущей директории.
4. Вводим команду adb start-server.
5. Чтобы убедится, что Ваше устройство правильно подключено и было распознано компьютером, введите команду: adb devices. Если всё хорошо, вы увидите что то похоже на это:
Теперь, когда Ваше устройство подключено и всё работает, давайте немного с ним поиграем.
Основы работы с ADB
Для начала работы с ADB его следует активировать на устройстве и установить утилиту adb и драйверы на комп. Первая задача выполняется с помощью включения «Отладки по USB» в пункте настроек «Для разработчиков» (если этот пункт скрыт, нажми семь раз на номер сборки в меню «О телефоне»).
Для установки ADB на комп качаем Adb Kit и распаковываем в любую папку (рекомендую использовать названия папок без русских символов). Также скачиваем и устанавливаем драйверы ADB.
Работать с adb нужно из командной строки. Нажимаем Win + R и вводим cmd, далее переходим в папку, в которой лежит adb. Для моей папки команда будет следующей:
Чтобы не проделывать все эти манипуляции каждый раз, можно добавить нужную папку в переменную Path. Для этого необходимо зайти в «Панель управления -> Система -> Дополнительные параметры системы -> Переменные среды», найти переменную Path и добавить в конец строки, через точку с запятой, путь до папки с adb. Теперь после запуска консоли можно сразу вводить необходимые команды.
Добавление adb в переменную Path
Проверим наше подключение к телефону с помощью следующей команды (она должна вывести список подключенных устройств):
С ADB можно работать через Wi-Fi. Для этого нужны права root и приложение WiFi ADB. Запускаем приложение, жмем переключатель и подсоединяемся к смартфону с помощью команды connect и показанного приложением IP-адреса:
Далее работа с ADB ничем не отличается.
Скопировать вывод консоли после выделения мышкой, а также вставить скопированную команду или имя файла в консоль можно правой кнопкой мыши. Включается в свойствах консоли.
Бэкап приложений и их данных.
Сам я придерживаюсь подхода «чистой установки». При переходе на новую прошивку мне проще настроить программы с нуля. Да и появление багов в таком случае сводится на нет, особенно при переходе на следующую мажорную версию прошивки. Но многим пользователям удобнее сохранить настройки приложений и восстановить их на новой прошивке. Особенно актуально это для сторонних программ, которых нет в маркете. Остановлюсь на двух самых популярных приложениях, насчитывающих миллионы скачиваний.
Titanium Backup
Мощнейшее средство бэкапа, восстановления, заморозки и удаления приложений вместе с их данными (включая системные и предустановленные производителем). Позволяет настроить автоматический бэкап по расписанию, не закрывая приложения, и переносить любое приложение на SD-карту. Можно хранить разные бэкапы одного приложения, сохранять СМС, ММС, историю звонков, закладки браузера, точки доступа Wi-Fi в форме XML-файла. Может синхронизировать все бэкапы в Dropbox, Box и Google Drive. С помощью этого приложения легко сделать любое пользовательское приложение системным, добавить шифрование, привязать приложение к маркету после восстановления (для дальнейших обновлений). Удобная функция — создание на основе бэкапа приложений и данных архива update.zip, который можно прошить из консоли восстановления, чтобы восстановить приложения и настройки.
Одно из наиболее полезных применений Titanium Backup — это перенос приложений и их настроек между устройствами. В качестве примера покажу, как заставить работать популярный мессенджер WhatsApp на планшете без сим-карты. При поиске программы в маркете на странице с описанием будет указано, что данная программа не поддерживается на твоем устройстве. Даже если скачать и установить APK, для активации программы необходим дозвон на устройство, чего планшет без симки (или LTE с тарифом без голосовых вызовов или выпиленным из прошивки дайлером) сделать не сможет.
Итак, заходим в Titanium, ищем нужное приложение, нажимаем на него и во всплывающем меню нажимаем «Сохранить». Если в меню сделать свайп влево, то можно вызвать дополнительные функции. Это же меню можно вызвать долгим тапом на приложении в списке. После отработки скрипта в панели уведомлений появится новая запись о создании успешного бэкапа. Для удобства работы советую настроить в программе загрузку бэкапов в облако. Синхронизацию можно настроить на третьей вкладке — «Расписания». Нажимаем «Пуск» на пункте «Синхронизация с Google Диск», и об успешном выполнении сообщит уведомление в шторке.
На планшете запускаем Titanium и синхронизируем бэкапы с облаком. При этом скачивается только что сделанный бэкап с телефона. WhatsApp будет находиться в самом конце списка программ. Зачеркнутое название означает, что программа на планшете не установлена. Нажимаем на программу и во всплывающем меню выбираем «Восстановить». Все. Можно запускать WhatsApp.
Titanium Backup: бэкап и восстановление на другом устройстве
Другие статьи в выпуске:
Helium — App Sync and Backup
Helium запоминает все устройства, на которых она была запущена, и позволяет восстанавливать бэкапы отдельно на разных устройствах. Бэкапы можно хранить на карте памяти или в облаке (Google Диск, Box, Dropbox), а также делать их по расписанию. Еще одна особенность приложения — данные между устройствами легко переносить, например, начав игру на одном устройстве, можно продолжить ее на другом.
Нередки случаи, когда после прошивки перестает работать сотовая связь и интернет. Это верный признак того, что слетел IMEI (International Mobile Equipment Identity — международный идентификатор мобильного оборудования). Этот номер уникален для каждого аппарата и служит для идентификации устройства в сети. При сбое он может обнулиться, и девайс перестанет видеть сеть.
Чтобы избежать таких случаев, советую заранее сделать бэкап раздела EFS, содержащего IMEI: с помощью программ из маркета, руками через консоль (adb shell) или на устройстве через эмулятор терминала. Стоит отметить, что для разных устройств таблица разделов может кардинально отличаться в зависимости от применяемых чипов. В случае Nexus 4 в терминале нужно ввести следующие команды:
У Nexus 5 нет отдельного раздела EFS. Поэтому бэкапить надо разделы 12 и 13, содержащие не только IMEI, но и другие данные:
Восстановление проводится аналогичной командой.
Запись видео, происходящего на экране устройства
Данная команда начнет записывать видео с разрешением 1280 x 720 (если не указать, то будет использовано нативное разрешение экрана устройства), с битрейтом 6 Мбит/с, длиной 20 с (если не указать, то будет выставлено максимальное значение 180 с), с показом логов в консоли. Записанное видео будет находиться в /sdcard (файл video.mp4).
Все запущенные из консоли и в adb shell процессы, занимающие некоторое время для выполнения, можно прервать с помощью комбинации Ctrl + C. Выйти из шелла и вернуться к выполнению обычных команд adb — Ctrl + D.
adb install
Благодаря этой команде вы можете устанавливать приложения на вашем смартфоне или планшете. Для этого нужно прописать путь, где находится APK файл:
adb intsall D:\papka_s_faylom\nazvanie_prilogeniya.apk
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда путь станет таким:
adb intsall nazvanie_prilogeniya.apk
fastboot oem unlock
При вводе этой команды можно разблокировать загрузчик телефонов и планшетов Asus и HTC. Когда ваше устройство находится в режиме bootloader, введите:
fastboot oem unlock
Также все ваши установленные программы и персональные данные будут потеряны.
adb push
Благодаря этой команде вы можете перекидывать файлы с компьютера на Android. Для этого вам нужно знать полный путь, где хранится файл и куда его перемещать.
adb push D:\papka_s_faylom\nazvanie_fayla/sdcard/Android
Чтобы не писать длинных путей, скопируйте файл в директорию android-tools. Тогда вводить нужно:
adb push nazvanie_fayla/sdcard/Android
Бэкап приложений
В Android есть встроенные функции бэкапа, которые также можно запустить с помощью командной строки. Для этого используется команда adb backup и набор опций:
- -f указывает имя создаваемого файла и его расположение на компе. При отсутствии ключа будет создан файл backup.ab в текущем каталоге;
- -apk|-noapk указывает, включать ли в бэкап только данные приложения или сам .apk тоже (по умолчанию не включает);
- -obb|-noobb указывает, включать ли в бэкап расширения .obb для приложений (по умолчанию не включает);
- -shared|-noshared указывает, включать ли в бэкап содержимое приложения на SD-карте (по умолчанию не включает);
- -all указывает на необходимость бэкапа всех установленных приложений;
- -system|-nosystem указывает, включать ли в бэкап системные приложения (по умолчанию включает);
Если мы хотим создать бэкап всех несистемных прог, включая сами .apk, в определенное место, то команда будет выглядеть так:
После ввода необходимо подтвердить начало выполнения бэкапа на самом устройстве. Для восстановления полученного бэкапа нужно выполнить соответствующую команду:
Процесс бэкапа
Снятие логов
После этого можно запускать проблемное приложение и смотреть, что именно вызывает ошибку. Также поддерживается вывод информации из альтернативных буферов. Этим способом можно посмотреть, что приложения делают в фоне и, например, какие события происходят после включения экрана:
Вывод команды adb logcat -b events
adb connect
При помощи этой команды можно подключить устройство к Wi-Fi сети. Для этого нужно знать ip адресс и порт устройства.
adb connect ip:port
fastboot devices
Если вы переведете ваш телефон или планшет под управлением Андроид в режим bootloader , то команды adb больше срабатывать не будут. Здесь нужно использовать команды fastboot.
Чтобы проверить, видят ли ПК и Android друг друга, используем команду:
После её ввода должен появится серийный номер вашего аппарата.
Читаем LOGCAT через ADB
Самый простой способ, это выполнить команду: adb logcat. Как результат, на экране появится всё содержимое лог файла устройства. Чтобы получить logcat в отдельном файле выполните: adb logcat > logcat.txt.
Установка приложений через ADB
Чтобы установить приложение, убедитесь, чтобы в названии apk файла не было пробелов и надо точно знать правильный путь к нему. Ну а дальше выполняем команду: adb install + название файла инсталяции. В своем примере я установил игру papertoss, поэтому если всё пройдет успешно, вы получите на экране такую картинку:
Продвинутый уровень
В одной из своих статей я показывал, как можно доставать информацию из баз данных различных приложений. Ну а теперь посмотрим, как проделать это прямо из консоли, не качая базы на комп и не устанавливая на устройство просмотрщики баз. Для этого используется команда sqlite3. Выведем на экран историю браузера Chrome:
Чтобы база читалась, необходимо выгрузить браузер из работающих приложений. Прервать выполнение скрипта sqlite можно, нажав Ctrl + Z, а выйти — командой .quit. Если в ответ на команду ты получишь ошибку /system/bin/sh: sqlite3: not found, значит, на смартфоне нет sqlite3 и ее придется скачать, закинуть в /system/bin и дать файлу все права. Я использую sqlite3, который вытащил когда-то из Titanium Backup.
История браузера Chrome
Также с помощью sqlite3 можно выдернуть все контакты с телефона. Для этого в консоли на компе должен использоваться шрифт Lucida Console и перед началом выполнения команд необходимо перевести кодировку на UTF-8. Иначе вместо русских букв будут отображаться непонятные символы. Сами команды выглядят так:
Если все сделано правильно, то в консоли ты увидишь таблицу с порядковым номером записи, номером телефона и контактами, отсортированными по имени. Для контактов с более одного номера будет несколько записей подряд.
Вывод контактов из базы contacts2.db
Можно вывести данные не на экран, а сразу в текстовый файл. Для этого команды нужно изменить:
Альтернативный способ вывода контактов в файл — команда, требующая установленного BusyBox:
Полный бэкап устройства
Nandroid backup (от NAND — тип используемой памяти в современных смартфонах) — полный бэкап всей прошивки целиком вместе с приложениями, данными и настройками. Функция поддерживается TWRP или CWM. Кроме того, бэкап можно сделать и прямо из Android с помощью программы Online nandroid backup. Восстановить отдельные данные поможет уже рассмотренный Titanium, а также Nandroid manager. Сначала посмотрим, как сделать бэкап из консоли восстановления.
Для создания бэкапа необходимо выбрать пункт Backup and Restore, а затем Backup to /sdcard. До нажатия можно выбрать формат бэкапа или освободить неиспользованные данные. Для восстановления выбираем пункт Backup and Restore и далее Restore from /sdcard. Если выбрать Advanced restore from /sdcard, можно указать для восстановления отдельно разделы boot, system, data, cache, sd-ext.
Для большей сохранности полученный бэкап можно перенести на комп. Но здесь есть одна загвоздка. Дело в том, что, если в устройстве есть «внешняя» (настоящая) карта памяти, CWM разместит бэкап в ней и он будет доступен для сохранения на комп стандартными средствами (каталог clockworkmod/backup/дата-и-время-бэкапа на карте памяти). Здесь все в порядке.
Если посмотреть на структуру разделов Nexus-устройств с помощью команды adb shell busybox fdisk /dev/block/mmcblk0 (нужен root и установленный из маркета BusyBox), то можно увидеть следующую картину (см. скриншот «Структура разделов на Nexus 5 и Nexus 4»).
Раздел aboot — это первичный бутлоадер. Его можно повредить, если, например, прошить ядро или бутлоадер от другого устройства или выдернуть шнур из телефона в процессе прошивки. При этом слетает таблица разделов и телефон перестает грузиться в бутлоадер и рекавери, а также перестает откликаться на команды fastboot и adb.
Обычный юзер думает, что это «кирпич», и несет телефон в сервисный центр, где платит больше ста долларов за новую взамен якобы сгоревшей плату. На самом же деле в разделе 15 у Nexus 4 и разделе 11 у Nexus 5 находится резервная копия бутлоадера — abootb. Это одна из причин того, что убить Nexus практически невозможно, ведь резервный загрузчик можно без проблем восстановить.
Выключаем смартфон и включаем с одновременным нажатием клавиш . Затем одновременно нажимаем и удерживаем комбинации кнопок (сработает, только если убит основной загрузчик). После этого подключаем устройство к компу (теперь оно определится и ADB заработает) и копируем резервный загрузчик в раздел основного командами
Таблица разделов восстановится, и при необходимости можно далее прошить нужный бутлоадер.
Однако в смартфонах без слота для карты памяти или при ее отсутствии бэкап окажется невидим для пользователя. Это происходит из-за того, что с версии 4.2 в Android изменились точки монтирования внутренней памяти для обеспечения работы в многопользовательском режиме. Сама виртуальная (внутренняя) карта памяти монтируется в /data/media, и там же находится бэкап CWM. Но данные основного пользователя находятся в /data/media/0, и именно этот каталог затем монтируется как /sdcard. Поэтому бэкап останется недоступен с помощью стандартных средств и без прав root.
Достать бэкап из /data/media можно с помощью файлового менеджера с правами суперпользователя или путем подключения смартфона к компу в режиме recovery. Далее вводим команду adb shell, а затем ls /sdcard/clockworkmod/backup/ для поиска каталога с последним бэкапом. Переносим бэкап примерно такой командой:
где цифры — это найденный ранее бэкап, соответствующий дате и времени появления, а в конце — путь на компе для хранения бэкапа, который может быть произвольным.
Для создания бэкапа нажимаем кнопку Backup и крестиками отмечаем необходимые разделы (не уверен — выбирай все). Дополнительно можно убрать шифрование, включить сжатие, пропустить создание MD5-хеша и выбрать сохранение на USB — OTG флешку. В результате бэкап окажется в каталоге /sdcard/twrp/backups/дата-и-время-бэкапа. В отличие от CWM он будет доступен независимо от наличия карты памяти. Для восстановления нажимаем Restore и выбираем нужный.
В маркете есть большое количество программ для отдельного бэкапа и восстановления СМС, звонков, контактов, ядер, рекавери и так далее.
Nandroid Manager
Это универсальный инструмент для управления всеми резервными копиями Nandroid. С помощью Nandroid Manager можно восстановить из Nandroid приложения и данные, СМС, журнал вызовов, точки доступа Wi-Fi, сохраненные сопряженные устройства Bluetooth, пользовательский словарь. Приложение видит бэкапы, созданные в обоих кастомных рекавери, и позволяет их переименовывать и искать информацию в отдельных базах внутри бэкапа.
Возможности Nandroid Manager
Online nandroid backup
Позволяет сделать бэкап на работающем в нормальном режиме устройстве, не перегружаясь в рекавери. В настройках можно выбрать следующие параметры:
- Имя бэкапа — каждый раз вручную / по временной зона UTC / по временной зоне телефона / на основе номера версии прошивки, включая время создания.
- Тип бэкапа — CWM/TWRP со сжатием или без.
- Режим — нормальный (полный) / выбор разделов для копирования. При выборе последнего открывается список с выбором.
- Место сохранения бэкапа.
- Количество бэкапов для хранения от «все» до 10 (при переполнении более старые удаляются).
- Сохранение разделов Yaffs2 в качестве Tar-файлов.
- Исключение Dalvik Cache из бэкапа.
- Исключение файлов Google Music из бэкапа.
Программа поддерживает выгрузку файлов бэкапа в облако, FTP или Google Drive. Доступно настраиваемое расписание для автоматических бэкапов, от «каждый день» до «каждые 30 дней» с опцией «только когда устройство заряжается». Кроме того, с помощью плагина поддерживаются действия для Tasker.
Фотографии и видео
После неудачной прошивки или, например, порчи или кражи телефона самые неприятные ощущения вызывает потеря снятых видео и фотографий. Ведь приложения можно установить заново, пароли при необходимости восстановить, а фотографии, если заранее не подстраховаться, пропадут навсегда. И в маркете существуют программы на любой вкус для сохранения твоих фотографий и видео. Рассмотрим несколько из них.
Google+
Стандартная программа от «корпорации добра», предустановленная на всех стоковых прошивках. Пользуюсь давно и на всех устройствах (на данный момент в альбомах содержится более 10 тысяч фотографий). Автоматически синхронизирует все отснятые фото с закрытыми альбомами Picassa (скоро такая же функция появится и в Google Drive). Фото будут доступны на всех устройствах, на которых выполнен вход в один аккаунт. При наличии интернета все фото можно просмотреть даже на новом устройстве, выполнив вход в аккаунт Google. Приятный бонус — автокоррекция некоторых фотографий, создание коллажей из похожих фото и GIF-анимаций из серий фотографий. Также автоматически появляются «Автокреативы» — нарезка под музыку из множества фотографий и видео, снятых в один день. При смене места снятия фотографий и видео обычно появляются «Истории» и «Путешествия».
Другие варианты
Важные бэкапы лучше хранить в облаке или на компе для возможности использования даже после полного вайпа устройства.
Управление приложениями
Для управления приложениями используются две команды: pm (package manager) — менеджер пакетов и am (activity manager) — менеджер активностей. У данных команд есть немало ключей, которые можно посмотреть на портале разработчиков. Остановимся на некоторых.
Для начала получим список установленных на устройстве приложений в виде названий пакетов, которые пригодятся позже:
Добавив в конец -s, ты увидишь только системные приложения, -3 — только сторонние, -f покажет пути установки пакетов, а -d — отключенные приложения. Далее, зная названия пакетов, можно совершать над ними различные насильственные действия :). Например, отключить ненужный календарь:
Ну а совсем удалить можно так:
Для использования activity manager понадобятся более глубокие знания структуры Android и понимание того, что такое Avtivity и Intent. Это позволит тебе запускать различные приложения, например браузер или настройки:
Завершить работу приложения можно противоположной командой:
Ну а убить все запущенные приложения — такой командой:
Тот же activity manager поможет сделать звонок на нужный номер телефона:
А так можно открыть страницу в браузере:
Запуск браузера из консоли
В данной команде input keyevent эмулирует нажатие кнопок и может использоваться как для хардварных, так и для кнопок внутри приложения. В нашем примере 22 соответствует перевод фокуса вправо (джойстик вправо — dpad right), а 66 — Enter.
С помощью команды input можно, например, разблокировать телефон. Для этого необходимо ввести:
Но данная команда не сработает на последних версиях Android. Для управления питанием и беспроводными коммуникациями там используется утилита svc. Например, включить передачу данных через мобильную сеть или управлять Wi-Fi можно через команды
Также можно заставить смартфон оставаться включенным при подключении к USB-порту/зарядке/Wi-Fi-сети или всегда:
Возвращаясь к команде input, стоит выделить еще одну команду для вставки текста в текущее поле. Кому-то это может показаться более привлекательным способом набора текста с компа, чем нажимать на кнопки небольшой области экрана. Выглядит команда так:
Кроме опции text, у команды input есть и другие. Полная форма команды такова:
В качестве источника можно указывать trackball, joystick, touchnavigation, mouse, keyboard, gamepad, touchpad, dpad, stylus, touchscreen. В качестве команд будут:
- text (Default: touchscreen) [delay]
- keyevent [–longpress] … (Default: keyboard)
- tap (Default: touchscreen)
- swipe [duration(ms)] (Default: touchscreen)
- press (Default: trackball)
- roll (Default: trackball)
Как видно из команд, можно, хотя и с трудом, управлять устройством через команды input touch и input swipe при разбитом экране, если не поддерживается работа мышки через USB-OTG. Например, вытянуть шторку с уведомлениями получится так (отсчет координат идет от левого верхнего угла):
А так можно узнать разрешение экрана:
Для Nexus 5 разрешение выдаст 1080 х 1920. Тогда нажать на кнопку «Меню приложений» стандартного лаунчера от Google, которая находится над кнопкой «Домой», можно так:
Скрипты
adb reboot recovery
Не все девайсы поддерживают данную команду. При помощи нее можно попасть в режим восстановления.
adb shell
При помощи этой команды вы получаете полный доступ ко всем файлам на вашем устройстве.
Второй способ использования adb shell — это выполнение единичной команды Android shell с помощью такой конструкции:
Отчет об ошибках (BUGREPORT)
Можно выполнить команду: adb bugreport, но вы получите уведомление, что сформировавшийся отчет невозможно будет прочитать, поэтому лучше воспользоваться: adb bugreport >result.txt.
adb reboot-bootloader
Благодаря этой команде вы можете напрямую загрузиться в режиме bootloader.
Консоль в консоли
Наряду с упомянутой консолью, которая является DOS-консолью под Windows, в Android существует и своя. Она вызывается через adb shell и представляет собой по сути стандартную Linux-консоль, но с неполным набором команд, расширить который можно, установив из маркета BusyBox. Использовать эту консоль можно двумя способами. В интерактивном режиме она запускается командой
В консоли появляется знак $ (далее по тексту этот знак будет означать необходимость ввода предварительной команды adb shell), и после этого можно вводить серию команд, получая после каждой отклик. Второй способ — если необходимо ввести только одну команду, можно писать ее подряд за adb shell.
В шелле работают стандартные команды для копирования, перемещения и удаления файлов: cp, mv и rm. Можно менять каталоги (cd) и смотреть их содержимое (ls). Кроме стандартных Linux-команд, о которых можно узнать из любого справочника, в Android есть несколько своих специализированных инструментов, но, чтобы использовать некоторые из них, придется получить на смартфоне права root, а после запуска консоли выполнять команду su:
Вывод свободного пространства на устройстве командой adb shell df
Пример работы команды ls для вывода информации о разделах
adb logcat
При помощи этой команды можно вывести содержимое log файла: изменения, ошибки и т.д. Данные будут слишком быстро прокручиваться, поэтому верным решением будет сохранить их в один TXT-файл. Для этого введите:
adb logcat > filename.txt
Создание скриншота
Выполняется одной строчкой:
После этого картинку нужно выдернуть из устройства командой adb pull:
В recovery скриншот можно сделать следующей командой:
Затем необходимо преобразовать файл fb0 в нормальное изображение с помощью FFmpeg, который нужно скачать и положить в папку с adb. Расширение необходимо ставить своего устройства:
adb sideload
Команда пригодится для владельцев устройств линейки Google Nexus. При помощи нее можно обновить прошивку девайса. Скачайте её на компьютер, подключите к нему Nexus, зайдите в режим Recovery, выберите пункт «Apply update from ADB» и после этого введите команду:
adb sideload name.zip
name.zip – это имя zip файла c прошивкой.
adb backup и adb restore
Команда adb backup создает бэкап, а adb restore проводит восстановление из бэкапа.
Введение
Получив root на смартфоне, среднестатистический пользователь начинает экспериментировать с устройством и ставить различные модификации интерфейса, темы, шрифты, новые ядра, прошивки, радио и root-приложения. Как постоянный, давний и активный пользователь форумов 4PDA и XDA Developers, могу утверждать, что очень часто такие эксперименты заканчиваются вопросами с формулировками: «Телефон не загружается, что мне делать?»
Даже очень внимательно прочитав инструкцию, можно допустить опечатку или нажать не на ту кнопку, после чего получить bootloop — вечную загрузку телефона с повторяющейся бутанимацией. В худшем случае можно получить «кирпич» — телефон вообще не включится. Бывает это очень редко, и, честно говоря, нужно очень постараться, чтобы, например, убить флеш-память. Обычно же то, что пользователи считают «кирпичом», можно успешно восстановить с помощью несложных манипуляций. И бэкап нам в этом очень поможет.
Базовые функции бэкапа, которые удовлетворят большинство обычных пользователей, предлагает сама Google. В настройках телефона есть вкладка «Аккаунты», в которой можно расставить необходимые галочки. После перепрошивки или сброса устройства на заводские настройки или активации нового телефона Android сам восстановит контакты, историю и вкладки браузера Chrome, заметки Google Keep, фотографии, данные приложений, события календаря и так далее. В последних версиях Android можно восстановить рабочий стол со всеми ярлыками и автоматически поставить все установленные ранее приложения.
Однако Google не может забэкапить все. Настройки системы и приложений сбросятся, сохраненные пароли (а точнее, токены аутентификации) исчезнут, приложения из сторонних маркетов не будут вновь установлены. Поэтому нам нужны инструменты, способные сохранить вообще все. О них мы и поговорим.
WARNING
Большинство описанных в статье приложений требуют root и BusyBox.
Выводы
Как видишь, с помощью ADB можно сделать много интересного. И чем больше пользуешься консолью, тем быстрее можно выполнить некоторые действия без установки дополнительного софта на устройство. Надеюсь, данная статья помогла разобраться с ADB и подтолкнула к чтению документации и поиску новых полезных команд.
Большинство пользователей Android ничего не знают об ADB. Полное название — Android Debug Bridge , расшифровывается, как «Отладочный Мост Android». ADB является частью Android SDK. При помощи ADB можно выполнять различные действия над вашим Android планшетом или смартфоном, такие как: перепрошивку, копирование файлов с компьютера на Андроид и обратно, восстановление системы и другие.
Содержание - ADB команды для Android:
adb pull
Эта команда копирует файлы с Android на компьютер. Вам нужно знать путь, где находится файл на смартфоне или планшете и указать место, где вы хотите сохранить файл. Если вы не укажете последнее, то файл сохранится в директории android-tools.
adb pull /sdcard/nazvanie_fayla\D:\papka_gde_sohranity
Снятие графического ключа, PIN, facelock
Допустим, ты забыл PIN или не совсем трезвым поставил графический ключ, ну или друзья пошутили и поставили распознавание по лицу. Так вот, если устройство по какой-то причине заблокировано, то блокировку можно снять (при условии включенной отладки по USB) через ту же консоль:
Команда удалит все пароли и графические ключи. Сами файлы в зависимости от прошивки и модели устройства могут быть: gesture.key, password.key, cm_gesture.key, personalpattern.key, personalbackuppin.key. Также за блокировку отвечают файлы locksettings.db, locksettings.db-shm, locksettings.db-wal.
После этого достаточно перегрузить устройство и ввести любой ключ, пароль. Если это не помогает, можно попробовать следующее:
adb devices
Самая распространенная команда adb. При помощи нее можно определить, видит ли ваш ПК подключенное устройство. Если вы всё сделали нормально, то появится такая строка: «List of devices attached». После нее вы увидите серийный номер вашего смартфона или планшета и его состояние: «online» либо «offline».
Если пишет «offline», это значит, что аппарат находится в спящем режиме, если «online», то девайс готов выполнять ваши команды.
Установка программ
ADB можно использовать для установки приложений без необходимости копировать их на смартфон. Достаточно выполнить такую команду:
В команду также можно добавить дополнительные ключи. Полезными будут -е — переустановить приложение с сохранением данных и -d — установить версию меньше текущей.
Программы можно и удалять, но для этого нужно знать название пакета (как узнать, расскажу чуть позже). На примере игры Angry Birds Seasons команда будет выглядеть так:
Копирование файлов
Две очень простые и запоминающиеся команды. Чтобы скопировать файл с Android устройства на компьютер выполняем: adb pull. В примере я скачиваю framework-res.apk файл из system/framework. Файл framework-res.apk окажется в директории C:/adb/sdk/platform-tools.
Чтобы загрузить файл с компьютера на девайс выполняем: adb push. Например, мне нужно залить на устройство papertoss.apk файл из C:\sanket\apps, для этого выполняем команду: adb push C:\SANKET\apps\papertoss.apk /sdcard/nimbuzz. Здесь мы копируем papertoss.apk файл на флешку нашего устройства в директорию /sdcard/nimbuzz.
Конец первой части…
Автор:livs
Как гласит известная айтишная мудрость, сисадмины делятся на тех, кто не делает бэкапы, и тех, кто уже делает бэкапы. Думаю, каждому хоть раз после прошивки или сбоя приходилось настраивать телефон/планшет с нуля. А ведь делать это совсем не обязательно, если есть сохраненный бэкап. В данной статье мы рассмотрим разные виды бэкапа (резервной копии) содержимого Android-устройств на все случаи жизни.
ADB для Android — что это такое?
Вам наверняка известно, что операционная система Android основана на модифицированном ядре Linux. Поэтому и с ней возникает необходимость использовать командную строку. Именно программа adb помогает устанавливать связь между компьютером и Android. Она является составляющей среды разработки Android SDK, поэтому чтобы установить Android Debug Bridge, вам нужно скачать Android SDK с официального сайта . Есть версии для всех популярных операционных систем: Windows, Mac OS и Linux. То есть, проще говоря, adb позволяет при помощи компьютера управлять телефоном или планшетом.
Бэкап с помощью ADB
Способ, так сказать, для гиков. Подключаем смартфон к компу, включаем отладку по USB. Далее используем команду adb backup, которая имеет следующие ключи:
- -f ФАЙЛ — место и название файла создаваемого бэкапа на компьютере. Если нет этого параметра, бэкап будет создан в текущей папке с названием backup.ab. В случае Windows пути с пробелами и спецсимволами следует заключать в кавычки.
- -apk | -noapk — сохранять или нет в бэкапе APK-приложения. По умолчанию — не сохранять.
- -system | -nosystem — сохранять ли в бэкапе системные приложения. По умолчанию — сохранять. Выбор -nosystem запретит сохранять системные приложения, когда задан ключ -all.
- -all — сохранять в бэкапе все установленные приложения, в том числе системные.
- -shared | -noshared — включать ли в бэкап данные приложений и содержимое карты памяти. По умолчанию — не сохранять.
- — здесь можно написать список приложений, которые будут бэкапиться. Игнорирует —nosystem.
Соответственно, чтобы выполнить полный бэкап, используем такую команду:
После этого в консоли появится Now unlock your device and confirm the backup operation, а на телефоне уведомление с просьбой подтвердить операцию и установить опциональный пароль на бэкап. Сам процесс создания резервной копии может длиться больше сорока минут, так что нервничать не надо. Для восстановления используем команду «adb restore путь-до-файла», для примера выше это будет:
Подтверждаем запрос на телефоне, вводим пароль (если устанавливали при бэкапе) и ждем восстановления, которое может занимать еще больше времени, чем создание самого бэкапа.
adb reboot
Эта команда перезагрузит ваш Android телефон или планшет.
Системные утилиты
Кратко остановлюсь на нескольких полезных командах (работоспособность некоторых, однако, может зависеть от версии прошивки и модели телефона).
Изменение DPI. Не требует root и работает на Android 5.0+. Стандартное значение для Nexus 5 — 480. При значении 420 на рабочем столе стокового лаунчера помещается пять иконок в ряд вместо четырех:
Подключение /system в режиме записи. Для части команд, которые меняют системные файлы, необходимо сначала перемонтировать раздел /system на запись. Это необходимо в том числе при удалении системных приложений. Перемонтирование выполняется следующей командой:
Мягкая перезагрузка:
Перевод смартфона в режим энергосбережения Doze (Android M+):
. повторяем действия, пока не увидим idle.
Батарейка в процентах (Android 4.4+):
ADB команды для Android
Подключите ваше устройство к ПК по USB. Убедитесь, что установлены все драйвера и включена отладка по USB .
Работать с Android Debug Bridge лучше всего через командную строку Windows. Для этого в Windows XP нажмите «Пуск» и в поле ввода «Найти программы и файлы» введите «cmd», после этого нажмите «Enter». Если у вас Windows 7 и выше, нажмите «Пуск» и в поле «Выполнить» введите «cmd» и снова нажмите клавишу «Enter».
Заключение
Надеюсь, эта статья поможет тебе сэкономить время и нервы при экспериментах с устройством. И даже потеря или кража телефона не станет трагедией при сохраненных в облаке бэкапах фотографий и приложений.
Существует множество инструментов для работы с подключенным с помощью USB-кабеля или Wi-Fi смартфоном. Особо развитые инструменты позволяют перемещать файлы, устанавливать и удалять софт, просматривать контакты, делать скриншоты экрана и даже отправлять СМС, однако ни один графический инструмент не сравнится с мощью, которую может дать консоль Android. В этой статье мы поговорим об ADB (Android Debug Bridge) — стандартном инструменте для отладки и работы с консолью Android с компа.
Описанные в статье команды можно выполнять непосредственно на устройстве, скачав из маркета эмулятор терминала, но удобнее это делать, конечно же, с компа через adb.
Бэкап произвольных файлов
Для бэкапа файлов на SD-карте также существуют различные программы. В целом они имеют схожие функции и отличаются интерфейсом или поддерживаемыми облачными сервисами.
Foldersync
Material Design, поддержка Amazon Cloud Drive, Box, Dropbox, FTP, Google Drive, Mega, OneDrive, SMB/CIFS, WebDav, Yandex Disk. Имеет встроенный файловый менеджер, множество настроек, фильтров, удобное планирование. Возможность настройки двухсторонней синхронизации, перенос скрытых файлов, настройка передачи через Wi-Fi / мобильный интернет, поддержка Таскера, защита пин-кодом, возможность синхронизации вложенных папок.
DataSync
Возможность синхронизации между устройствами через Bluetooth, расписание, данные приложений, файлы и папки. Автоматическая двухсторонняя синхронизация данных позволит сохранять прогресс игр и автоматически загружать его на все связанные устройства при изменении данных на одном из них.
Dropsync
Продвинутый клиент синхронизации с Dropbox. Загрузка фото и видео, мониторинг уровня заряда батареи, Wi-Fi/3G/4G/WiMax-соединения и адаптация в соответствии с предпочтениями пользователя, настраиваемый интервал автосинхронизации, плагин к Таскеру, возможность выбора режима синхронизации: только загрузка, загрузка и удаление, только скачивание, зеркальное скачивание и другое.
По сути, это аналог десктопного клиента Dropbox с синхронизацией на лету (как и в Linux-версии клиента, изменения файлов отслеживаются с помощью механизма inotify, поэтому синхронизируются все сразу, а не через определенные интервалы времени).
Настройки Foldersync, DataSync, Dropsync
Для Linux/UNIX-пользователей подойдет rsync backup for Android, которая позволит отправлять и получать файлы с удаленного сервера через SSH. Имеет поддержку Таскера.
ADB совместно с ROOT правами доступа
Для работы из-под ADB с полными правами доступа, нужно рутить девайс. Если девайс уже рученый, тогда выполняем команду: adb root и видим то, что показано на картинке ниже (перезагрузка ADB с root правами).
adb uninstall
Вводить нужно аналогично предыдущей команде. При этом приложение удалится.
У этой команды есть интересная фишка. Если вы добавите ключ -k,то при удалении игры или программы их данные и кэш не удалятся, а останутся на Android устройстве.
Читайте также: