Я пытаюсь сделать резервную копию своего Nexus 7 перед установкой нового заводского образа. (Существует проблема, препятствующая успешному обновлению OTA .) Но когда я запускаю
adb backup -f android-nosystem-backup.ab -apk -shared -all -nosystem
резервная копия зависает после записи 2147483647 байт. Это число равно 2^31 минус 1, и я узнаю, что проблема заключается в отсутствии где-то поддержки больших файлов. Я использую тот adb
, который поставляется с моим текущим дистрибутивом Debian Linux «Jessie». Проблема возникает независимо от того, пытаюсь ли я выполнить резервное копирование в локальный файл или на удаленный файловый сервер, подключенный к NFS, поэтому я подозреваю, что что-то в adb
цепочке инструментов было скомпилировано без поддержки больших файлов.
Nexus 7 сообщает, что общий объем используемого хранилища составляет 4,2 ГБ, поэтому я ожидаю файл резервной копии такого размера. Есть ли обходной путь, который я должен использовать? Есть ли способ разделить резервную копию на части?
Оказывается это известная проблема и есть патч .
Иззи
mkfifo
вопросы по SU ). По сути, вы создаете fifo и указываете его как «файл» дляadb backup
. Параллельно вы запускаете второй процесс, читающий из этого fifo, например, создаете tar-архив, разделенный на блоки максимального размера . Если вы попробуете это, пожалуйста, сообщите нам, как это сработало.Норман Рэмси
Иззи
writerproc > mypipe
иreaderproc < mypipe
.Вятт Уорд
tar
, поддерживает файлы размером более 2 ГБ. Мой веб-сайт в данный момент не работает, но у меня есть статически связанный двоичный файл armv7-a для 4.4 и выше (5.0, 5.1, 6.0 и т. д.) здесь . Вы можете поместить это где-нибудь, где вы можете использоватьchmod
, например, /data/local/tmp, и сделать tarball таким образом, иadb push
все.