Как сделать резервную копию данных на нерутированном телефоне?

Какие методы доступны для резервного копирования данных (как системы, так и приложений) с телефона, который не имеет root-доступа и работает под управлением Android 2.3.4 Gingerbread?

  • Насколько я понимаю, невозможно получить данные приложения (не хранящиеся на SD-карте) на нерутированном телефоне, за исключением случаев, когда само приложение предлагает экспорт. Это точно?

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

Я уже использую Missing Sync для Android, который заботится о контактах, календаре, фотографиях, журнале вызовов и SMS-сообщениях. Мой телефон Nexus One.

@eldarerathis: пропустил это в своем поиске, но да. Я спрашиваю здесь о том, что вы можете сделать, включая (стандартные) механизмы, специфичные для приложения, а не невозможное полное резервное копирование.
Если вы говорите о данных приложения, это дизайн безопасности, при котором другие приложения не могут читать эти данные, если у них нет прав суперпользователя (root). Все остальное можно сохранить.
@Seth Hikari: Есть одно исключение: если приложение использует атрибут sharedUserId, другие приложения от того же автора также могут получить доступ к личным файлам...
Используя catтрюк для копирования /data/data... одна загвоздка в том, что в нерутированном телефоне lsбудет выдан opendirотказ в разрешении... сказав это, вы можете проверить, какие приложения установлены с помощью pm, а затем вывести /data/data/....каталоги какие - если не все, гарантированно есть databases, shared_prefs, librariesнапример, package my.app.foo, то будут /data/data/my.app.foo...

Ответы (5)

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

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

В Froyo (2.2) Google представила облачное резервное копирование, которое многие разработчики приложений интегрировали в свои приложения. Это означает, что некоторые приложения просто автоматически восстановят свои данные, как только вы войдете в новый телефон с помощью своей учетной записи Google. Однако это будет работать только для тех приложений, которые реализовали эту функцию.

Вы должны обнаружить, что все системные приложения теперь имеют полную резервную копию или облачную синхронизацию, начиная с Froyo.

Из моего недавнего опыта обновления до Galaxy Nexus - Облачная синхронизация: GMail, Календарь, Контакты; Облачное резервное копирование: Все системные настройки (некоторые меня удивили), настройки электронной почты. Не резервируется: закладки браузера (хотя они синхронизируются в ICS).

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

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

Возможно, вы сможете вручную извлечь все файлы из раздела /data, используя adb. Вы можете просматривать их с помощью «оболочки adb» и извлекать их по отдельности с помощью «adb pull», но для их восстановления вам потребуется root. Это также требует определенного технического понимания. edit: на самом деле после дальнейшего тестирования даже для этого требуется root-доступ.

Предлагаемый ниже MyBackupPro не будет создавать резервные копии всех ваших приложений, а только тех, у которых есть открытые ContentResolvers (например, SMS, календарь, контакты и т. д.). В любом случае эти вещи автоматически сохраняются в Gingerbread. (Я не могу комментировать или голосовать против)

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

Helium (ранее известный как Carbon) может создавать резервные копии приложений даже на телефонах без рута. Для этого требуется подключить телефон к ПК через USB и запустить adbкоманду, которая запустит какую-то прокси-службу, которая позволит Helium создавать резервные копии ваших приложений. Внутри он, кажется, работает adb backupчерез эту прокси-службу.

Это действительно работает для Android 2.3 по запросу? На странице Google Play для Helium указано, что для этого требуется Android 4.0.
@jamesdlin: Ой, я совсем это пропустил! Теперь это объясняет, почему Helium не работал, когда я пробовал на устройстве 2.x. :)

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

У Android нет веб-сервера, и вы, конечно, не сможете просто так создать резервную копию всего.
@MatthewRead AirDroid включает в себя веб-сервер (на который ссылается проф) и позволяет вам создавать резервные копии ваших *.apkфайлов на вашем ПК. Поскольку он включает файловый браузер, вы также можете копировать файлы на ПК. Хотя я бы тоже не назвал это резервной копией — в лучшем случае частичной резервной копией файла.

Вы действительно можете использовать MyBackup Pro — он творит чудеса на нерутированных телефонах!

Хотя он работает на нерутированных телефонах, он создает резервные копии только ограниченного набора данных — тех, которые предоставляются контент-провайдерами. Это включает в себя Контакты, Календарь, Фотографии, Журнал вызовов и SMS-сообщения — элементы, которые, по словам OP, уже обработаны отсутствующей синхронизацией.

ASTRO File Manager отлично подходит для резервного копирования приложений, а также многих других функций, которые делают его в целом отличным приложением. Я использовал для резервного копирования, когда мне нужно было стереть телефон и начать заново.

Можете ли вы точно объяснить, как он выполняет резервное копирование всего интересного, учитывая защиту файлов, и делает ли он больше, чем любой другой файловый менеджер? Материал на SD-карте, очевидно, копируется и не является частью моего вопроса.
Файловый менеджер Astro не будет создавать резервные копии данных приложения на нерутированном телефоне.