Команда резервного копирования adb на устройстве без рута создает пустой файл резервной копии?

Недавно я попытался сделать резервную копию своего телефона Motorola Moto G2 XT1068, работающего под управлением Lollipop 5.0.1, и после подключения его через USB с включенной отладкой по usb я выполнил команду резервного копирования adb для полного резервного копирования моего устройства, и этот вопрос Полное резервное копирование нерутированных устройств и решение направило меня. Однако выполнив следующую команду adb,

adb backup -apk -shared -all -system -f D:/backup.ab

не работает в моем случае. Команда проинструктировала меня разблокировать мое устройство и подтвердить операцию резервного копирования. Однако при этом всплывающее сообщение Backup startedи Backup completedвсплывающее сообщение отображались одно за другим всего за одну секунду. И, очевидно backup.ab, сгенерированный файл тоже был пустым файлом размером 0 КБ.

Удаление и изменение параметра тоже не помогает.

У меня была аналогичная проблема на устройстве 4.4.2, но ваше решение почему-то не работает... хотя раньше работало.. любопытно.
@jpaugh Попробуйте этот ответ android.stackexchange.com/q/83080/96277 , который специально предназначен для KitKat.
Очень признателен!

Ответы (2)

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

Получил эту информацию на основе форума XDA [РУКОВОДСТВО] Полное резервное копирование телефона без разблокировки или рута

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

После того, как я установил пароль резервного копирования рабочего стола в

Settings > Developer Options > Desktop backup password

adb backup -apk -shared -all -f D:/backup.ab

Теперь я могу успешно выполнить приведенные выше команды резервного копирования adb. Обратите внимание, что я оставил -systemпараметр по умолчанию, и backup.abтеперь размер файла составляет почти 6 ГБ.

Вы проверили, была ли зарегистрирована ошибка? Ваш ответ расходится с этим вопросом (хотя для Китката).
@Firelord Нет, я не смог найти сообщение об ошибке по этой проблеме. Но я не помню, чтобы раньше шифровал или устанавливал пароль резервного копирования рабочего стола. Я ввел 1234 в поле текущего пароля, и, к счастью, он был принят. :)
Хорошо, что это есть, так что спасибо, что поделились, но в лучшем случае это обходной путь (а не «решение»). Иногда необходимо иметь резервные копии без шифрования паролем (например, чтобы преобразовать .abфайл в файл .tarдля исследования).
@Izzy Но Android Backup Extractor может преобразовать .abв , .tarдаже если файл зашифрован паролем. Конечно, вы должны предоставить пароль во время конвертации. :)
Может быть – все же немного усложняет дело :) Просто говорю, никакой критики!

В Marshmallow у меня сработала установка (или использование) резервного пароля, но я не думаю, что эти 0-байтовые файлы вызваны ошибкой. Возможность обойти системное шифрование, просто сделав резервную копию , — это огромная ошибка.

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

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