“Backing your shit up” is hard when nothing is built for being backed up; the apps and the Android platform is simply not built to backup nor recover data.
This is a frustrated article originating from all sorts of bad experiences when desperately trying to backup valuable data I have kept on and wanted to transfer between my many Android phone. “Valuable data” as mentioned in this article ranges from text messages and photos to high-scores in games; and logins, settings, and data in apps.
This article refers to the state of backups on Android 4.4.4 “KitKat”. An update for Android 5 “Lollipop” will be available at a later date.
The defacto option for advanced users is the built-in adb backup system part of the development stack. This requires the device to be set in developer mode and wired up to a computer. It is also flagged as untested and unsupported. My testing also shows that it frequently fails to backup (hangs midway through), fails to restore apps and app data for many apps (likely the app’s fault), and does not support paid apps nor their data.
Shuffling along to the App Store, there are a few backup solutions available. Most of the apps claiming to be backup apps—and as this is the Google Play App Store—are of course junkware that does not actually provide any kind of backup functionality.
These alternatives will work on any devices with a recent version of Android. An explanation of “rooted” follows in that section.
… is a joke. The built-in solution is available through settings for anyone who login to a Google Account. It only works with apps that specifically integrate with it. Very few do. The few that do does not even synchronize the majority of their data or settings. It cannot be trusted to keep all of your data, and app developers do not seem to care to support it.
This should not in any way be considered a backup service. The service should be named “send Google some data apps may volunteer” and with a footnote “oh, and when it is time to recover the data we may choose to not recover any of it”. Not being able to sync to a server under your own control is also a showstopper for enterprise and privacy minded users alike.
Users are not given any insight into what is backed up and what is not. They have to trust each app developer to make good choices on their behalves on what to backup and what not to. The choice they make seem more often than not to be “let us backup the unique installation key for statistical purposes, and nothing that benefits the user”. Only when its time to recover the data will the user learn whether they have lost data they cared about.
Do not bother with enabling this service. Disable it and save the bandwidth and battery-life expenditures for other endeavors.
Helium is essentially a front-end for adb backup. You have to connect to a PC and install the adb drivers and a little utility program to get it working. Once setup, you unsurprisingly have the same problems and limitations og the adb backup system. Additionally, you can sync your broken and partial backup to another Android device on the same wireless network or to the servers of DropBox, Box.net, and Google Drive. Your own servers are not cool enough to receive the backed up data directly.
Rooting your device means that you have reset the device and have replaced the standard system with another system. It would be synonymous with replacing Windows on your PC and installing Linux instead. You would definitely know if your device has been rooted and the below solutions are even an option.
Nandroid is a system that enables your to make a carbon-copy of the entire device. Including absolutely all user-data and the system itself. Online Nandroid is an app that allows you to schedule and automate these backups. These backups are very large. You will need to have more than half the device’ storage space empty in order to create one.
Online Nandroid will store the file on your device in a folder you have specified. This is a large file which makes it difficult in itself to manage. It can be combined with other apps that will automatically transfer the file off the device and onto a server.
The backup process can be automated to run a schedule. Jury-rigging it to run a upload through another app upon successfully backing up becomes complicated. Like adb, the backup process sometimes simply stalls indefinitely. Podcasting and other apps that may be downloading larger files in the background while the backup is running, seem especially prone to trigger such problems. Trusting the backup to run unsupervised on a schedule seems foolishly optimistic.
This is by far the most complete and comprehensive backup solution. It is what you get with iOS and what you would expect Android to have provided our of the box. This implementation, is impractical and the learning curve and required pre-knowledge is very high.
Everybody seems to love Titanium Backup. This love and trust is misplaced. When someone says a pieces of software looks like a Christmas tree, Titanium Backup is what they are referring to. The app looks sketchy and it is frankly very hard to love anything about it except its promises.
The first challenge is beating the many options into submission and setting up a configuration you believe will fulfill your backup needs. Successful and sane configuration will take a few attempts to get right.
Like with Online Nandroid, there are no built-in option to transfer the backup blobs over the network. The companion/upselling app Titanium Media Sync can be used to optimistically transfer the backups over the network. The companion will not clean out the local copy of the large backup files upon completing.
Titanium claims to backup paid apps (encrypted) and their data. And it does indeed deliver on this promise. For the most part it can restore these app too! Larger paid apps are not restored nor are any user data belonging to any paid apps.
As there are no good options available, I cross my fingers and hope I don’t loose my phone. Or that the memory card(s) die. Or that it randomly explodes.