I'm trying to back up my Nexus 7 before installing a new factory image. (There is an issue preventing OTA update from succeeding.) But when I run
adb backup -f android-nosystem-backup.ab -apk -shared -all -nosystem
the backup gets stuck after writing 2147483647 bytes. This number is 2^31 minus 1, and I recognize the problem as a lack of Large File Support somewhere. I'm running the adb
that ships with my current Debian Linux distro "Jessie." The problem occurs whether I try to back up to a local file or to a remote NFS-mounted file server, so I suspect that something in the adb
toolchain has been compiled without Large File Support.
The Nexus 7 reports total storage in use of 4.2GB, so I'm expecting a backup file on that order of size. Is there some workaround I should be using? Is there a way to split the backup into pieces?
mkfifo
questions on SU). Basically, you create a fifo, and specify that as "file" toadb backup
. In parallel, you run a second process reading from that fifo, e.g. Create a tar archive split into blocks of a maximum size. If you try this, please let us know how it worked out.writerproc > mypipe
andreaderproc < mypipe
.tar
, supports files over 2GB. My website's down at the moment, but I've got a armv7-a statically linked binary for 4.4 and higher (5.0, 5.1, 6.0, etc) here. You can put this somewhere where you can usechmod
, like /data/local/tmp, and make a tarball that way andadb push
it over.