Все про бекап Android-додатків

  1. Зміст статті Як говорить відома айтішной мудрість, сисадміни діляться на тих, хто не робить бекапи,...
  2. WARNING
  3. Бекап додатків і їх даних.
  4. Titanium Backup
  5. Helium - App Sync and Backup
  6. IMEI
  7. Фотографії та відео
  8. Google+
  9. Інші варіанти
  10. INFO
  11. Бекап довільних файлів
  12. Foldersync
  13. DataSync
  14. Dropsync
  15. INFO
  16. Повний бекап пристрої
  17. CWM
  18. TWRP
  19. INFO
  20. Nandroid Manager
  21. Online nandroid backup
  22. Бекап за допомогою ADB
  23. INFO
  24. Висновок

Зміст статті

Як говорить відома айтішной мудрість, сисадміни діляться на тих, хто не робить бекапи, і тих, хто вже робить бекапи. Думаю, кожному хоч раз після прошивки або збою доводилося налаштовувати телефон / планшет з нуля. Але ж робити це зовсім не обов'язково, якщо є збережений бекап. У даній статті ми розглянемо різні види бекапа (резервної копії) вмісту Android-пристроїв на всі випадки життя.

Вступ

Отримавши root на смартфоні, середньостатистичний користувач починає експериментувати з пристроєм і ставити різні модифікації інтерфейсу, теми, шрифти, нові ядра, прошивки, радіо і root-додатки. Як постійний, давній і активний користувач форумів 4PDA і XDA Developers, можу стверджувати, що дуже часто такі експерименти закінчуються питаннями з формулюваннями: «Телефон не завантажується, що мені робити?»

Навіть дуже уважно прочитавши інструкцію, можна допустити друкарську помилку або натиснути не на ту кнопку, після чого отримати bootloop - вічну завантаження телефону з повторюється бутанімаціей. У гіршому випадку можна отримати «цеглина» - телефон взагалі не включиться. Буває це дуже рідко, і, чесно кажучи, потрібно дуже постаратися, щоб, наприклад, вбити флеш-пам'ять. Зазвичай же то, що вони вважають «цеглою», можна успішно відновити за допомогою нескладних маніпуляцій. І бекап нам в цьому дуже допоможе.

Базові функції бекапа, які задовольнять більшість звичайних користувачів, пропонує сама Google. В налаштуваннях телефону є вкладка «Акаунти», в якій можна розставити необхідні галочки. Після перепрошивки або скидання пристрою на заводські настройки або активації нового телефону Android сам відновить контакти, історію і вкладки браузера Chrome, замітки Google Keep, фотографії, дані додатків, події календаря і так далі. В останніх версіях Android можна відновити робочий стіл з усіма ярликами і автоматично поставити всі встановлені раніше програми.

Однак Google не може забекапіть все. Налаштування системи і додатків скинуться, збережені паролі (а точніше, токени аутентифікації) зникнуть, додатки з сторонніх маркетів НЕ будуть знову встановлені. Тому нам потрібні інструменти, здатні зберегти взагалі все. Про них ми і поговоримо.

WARNING

Більшість описаних в статті додатків вимагають root і BusyBox.

Бекап додатків і їх даних.

Сам я дотримуюся підходу «чистої установки». При переході на нову прошивку мені простіше налаштувати програми з нуля. Та й поява багів в такому випадку зводиться нанівець, особливо при переході на наступну мажорну версію прошивки. Але багатьом користувачам зручніше зберегти настройки додатків і відновити їх на новій прошивці. Особливо актуально це для сторонніх програм, яких немає в маркеті. Зупинюся на двох найпопулярніших додатках, які налічують мільйони завантажень.

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

Головна відмінність програми - можливість працювати без наявності прав суперкористувача (додаток використовує стандартний backup manager, доступний в будь-якому Android починаючи з версії 4.0. - Прим. Ред.). При цьому частина функцій урізана і потрібна програма-компаньйон на компі. Програма дозволить зробити бекап словника, повідомлень і журналів дзвінків, точок доступу Wi-Fi. Системні програми можна бекапіть, навіть якщо є рут. Також резервування може бути заборонено розробниками деяких програм. Вони будуть знаходитися внизу списку. Наприклад, той же WhatsApp забекапіть не вийде.

Helium запам'ятовує всі пристрої, на яких вона була запущена, і дозволяє відновлювати бекапи окремо на різних пристроях. Бекапи можна зберігати на карті пам'яті або в хмарі (Google Диск, Box, Dropbox), а також робити їх за розкладом. Ще одна особливість програми - дані між пристроями легко переносити, наприклад, почавши гру на одному пристрої, можна продовжити її на іншому.

IMEI

Нерідкі випадки, коли після прошивки перестає працювати стільниковий зв'язок і інтернет. Це вірна ознака того, що злетів IMEI (International Mobile Equipment Identity - міжнародний ідентифікатор мобільного обладнання). Цей номер унікальний для кожного апарату і служить для ідентифікації пристрою в мережі. При збої він може обнулитися, і девайс перестане бачити мережу.

Щоб уникнути таких випадків, раджу заздалегідь зробити бекап розділу EFS, що містить IMEI: за допомогою програм з маркету, руками через консоль (adb shell) або на пристрої через емулятор терміналу. Варто зазначити, що для різних пристроїв таблиця розділів може кардинально відрізнятися в залежності від застосовуваних чіпів. У разі Nexus 4 в терміналі потрібно ввести наступні команди:

Бекап IMEI:

su dd if = / dev / block / mmcblk0p8 of = / sdcard / m9kefs1.img dd if = / dev / block / mmcblk0p9 of = / sdcard / m9kefs2.img

Відновлення IMEI:

su dd if = / sdcard / m9kefs1.img of = / dev / block / mmcblk0p8 dd if = / sdcard / m9kefs2.img of = / dev / block / mmcblk0p9

У Nexus 5 немає окремого розділу EFS. Тому бекапіть треба розділи 12 і 13, що містять не тільки IMEI, а й інші дані:

su dd if = / dev / block / mmcblk0p12 of = / sdcard / modemst1.img dd if = / dev / block / mmcblk0p13 of = / sdcard / modemst2.img

Відновлення проводиться аналогічної командою.

Фотографії та відео

Після невдалої прошивки або, наприклад, псування або крадіжки телефону найнеприємніші відчуття викликає втрата знятих відео і фотографій. Адже додатки можна встановити заново, паролі при необхідності відновити, а фотографії, якщо заздалегідь не підстрахуватися, пропадуть назавжди. І в маркеті існують програми на будь-який смак для збереження твоїх фотографій і відео. Розглянемо кілька з них.

Google+

Стандартна програма від «корпорації добра», встановлена ​​на всіх стічних прошивках. Користуюся давно і на всіх пристроях (на даний момент в альбомах міститься більше 10 тисяч фотографій). Автоматично синхронізує всі відзняті фото з закритими альбомами Picassa (скоро така ж функція з'явиться і в Google Drive). Фото будуть доступні на всіх пристроях, на яких виконано вхід в один акаунт. При наявності інтернету все фото можна переглянути навіть на новому пристрої, ввійшовши в обліковий запис Google. Приємний бонус - автокоррекция деяких фотографій, створення колажів зі схожих фото і GIF-анімацій з серій фотографій. Також автоматично з'являються «Автокреатіви» - нарізка під музику з безлічі фотографій і відео, знятих в один день. При зміні місця зняття фотографій і відео зазвичай з'являються «Історії» і «Подорожі».

Інші варіанти

  • MEGA - дає за замовчуванням сховище на 50 Гб, має гнучкі налаштування, клієнт синхронізації для компа і розширення для браузера Chrome. Різні режими перегляду, можливість відкрити папки для інших користувачів.
  • Хмара Mail.ru - 100 Гб для нових користувачів. Має приємний інтерфейс і клієнт для компа.
  • Dropbox - цікавий тим, що має додаток-компаньйон Carousel, яке вміє не просто автоматично завантажувати фотки, але і чистити смартфон від тих, що вже завантажені.

Налаштування автозавантаження Google+, Mega, Хмара Mail.ru

INFO

Важливі бекапи краще зберігати в хмарі або на компі для можливості використання навіть після повного вайп пристрою.

Бекап довільних файлів

Для бекапа файлів на 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

INFO

Для Linux / UNIX-користувачів підійде rsync backup for Android, яка дозволить відправляти і отримувати файли з віддаленого сервера через SSH. Має підтримку Таскер.

Повний бекап пристрої

Nandroid backup (від NAND - тип використовуваної пам'яті в сучасних смартфонах) - повний бекап всієї прошивки цілком разом з додатками, даними і налаштуваннями. Функція підтримується TWRP або CWM. Крім того, бекап можна зробити і прямо з Android за допомогою програми Online nandroid backup. Відновити окремі дані допоможе вже розглянутий Titanium, а також Nandroid manager. Спочатку подивимося, як зробити бекап з консолі відновлення.

CWM

Для створення бекапа необхідно вибрати пункт 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

Якщо подивитися на структуру розділів 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 практично неможливо, адже резервний завантажувач можна без проблем відновити.

Вимикаємо смартфон і включаємо з одночасним натисканням клавіш <Vol Up + Power>. Потім одночасно натискаємо і утримуємо комбінації кнопок <Vol Up + Vol Down + Power> (спрацює, тільки якщо убитий основний завантажувач). Після цього підключаємо пристрій до комп'ютера (тепер воно визначиться і ADB запрацює) і копіюємо резервний завантажувач в розділ основного командами

$ Adb shell su

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

Однак в смартфонах без слота для карти пам'яті або при її відсутності бекап виявиться невидимий для користувача. Це відбувається через те, що з версії 4.2 в Android змінилися точки монтування внутрішньої пам'яті для забезпечення роботи в розрахованому на багато користувачів режимі. Сама віртуальна (внутрішня) карта пам'яті монтується в / data / media, і там же знаходиться бекап CWM. Але дані основного користувача знаходяться в / data / media / 0, і саме цей каталог потім монтується як / sdcard. Тому бекап залишиться недоступний за допомогою стандартних засобів і без прав root.

Дістати бекап з / data / media можна за допомогою файлового менеджера з правами суперкористувача або шляхом підключення смартфона до комп'ютера в режимі recovery. Далі вводимо команду adb shell, а потім ls / sdcard / clockworkmod / backup / для пошуку каталогу з останніми бекапом. Переносимо бекап приблизно такою командою:

$ Adb pull /sdcard/clockworkmod/backup/2015-04-20.15.46.18 \ "D: \ Nexus5 \ Backup \ Nandroid \ 2015-04-20.15.46.18"

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

TWRP

Для створення бекапа натискаємо кнопку Backup і хрестиками відзначаємо необхідні розділи (не впевнений - вибирай все). Додатково можна прибрати шифрування, включити стиск, пропустити створення MD5-хеш-кодування і вибрати збереження на USB - OTG флешку. В результаті бекап виявиться в каталозі / sdcard / twrp / backups / дата-і-час-бекапа. На відміну від CWM він буде доступний незалежно від наявності карти пам'яті. Для відновлення натискаємо Restore і вибираємо потрібний.


INFO

У маркеті є велика кількість програм для окремого бекапа і відновлення СМС, дзвінків, контактів, ядер, рекавери і так далі.

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.

Бекап за допомогою ADB

Спосіб, так би мовити, для гиків. Підключаємо смартфон до комп'ютера, включаємо налагодження по USB. Далі використовуємо команду adb backup, яка має такі ключі:

  • -f Фото - місце и назва файлу створюваного бекапу на комп'ютері. Если немає цього параметра, бекап буде Створений в папці з назв backup.ab. У разі Windows шляху з пробіламі и спецсимволами слід брати в лапки.
  • -apk | -noapk - зберігаті чи ні в бекапи APK-Додатки. За замовчуванню - Ніколи НЕ зберігаті.
  • -system | -nosystem - зберігаті чи в бекапи Системні програми. За замовчуванню - зберігаті. Вибір -nosystem заборонено зберігаті Системні програми, коли завдань ключ -all.
  • -all - зберігати в бекапе всі встановлені додатки, в тому числі системні.
  • -shared | -noshared - чи включати в бекап дані додатків і вміст карти пам'яті. За замовчуванням - Ніколи не зберігати.
  • - тут можна написати список додатків, які будуть бекапіть. Ігнорує -nosystem.

Відповідно, щоб виконати повний бекап, використовуємо таку команду:

$ Adb backup -f "D: \ Backup \ ADB-2015-04-20.ab" -apk -shared -all -system

Після цього в консолі з'явиться Now unlock your device and confirm the backup operation, а на телефоні повідомлення з проханням підтвердити операцію і встановити опціональний пароль на бекап. Сам процес створення резервної копії може тривати більше сорока хвилин, так що нервувати не треба. Для відновлення використовуємо команду «adb restore шлях-до-файла», для прикладу вище це буде:

$ Adb restore "D: \ Backup \ ADB-2015-04-20.ab"

Підтверджуємо запит на телефоні, вводимо пароль (якщо встановлювали при бекапе) і чекаємо відновлення, яке може займати ще більше часу, ніж створення самого бекапа.

INFO

Дізнатися номера IMEI, всіх своїх пристроїв, прив'язаних до Google (в тому числі старих), можна на сторінці google.com/settings/dashboard, розкривши список Android.

Висновок

Сподіваюся, ця стаття допоможе тобі заощадити час і нерви при експериментах з пристроєм. І навіть втрата або крадіжка телефону не стане трагедією при збережених в хмарі бекапіть фотографій і додатків.