Friday 8th November 2013: 7.17am. I got my new Nexus 5 to replace my poor treacle slow Galaxy Nexus today. And it's a very nice phone for the money indeed. BUT, and here comes a rant, it is FAR FAR harder to do an exact device image from one Nexus device to another than it ought to be. The Android File Transfer implementation is crap - I've never got it to work reliably for anything more than minimal transfers. My Galaxy Nexus is absolutely full to the brim, so there isn't space to tar up the local file system. I could use a Samba mount, or rsync to image the /sdcard directory, but configuring both of those are hassle, and it takes forever over Wifi.
Bring back USB Mass Storage I say! Sadly no longer available since Android 4.0 :( And of course Nexus devices don't have SD Card slots, so that's out too.
My next idea was to fire up the Android SDK and use the Android debug tool to yank all files from /sdcard. Unfortunately, NTFS on Windows dislikes some of the character encodings, so it fails. My next idea was to do the same but on Linux, but adb kernel panicked my cloud node's kernel, knocking out the entire cluster, internet connection and sundry. So I wasn't going to try that again!
It's now 2am in the morning, and I am getting annoyed! Right now I'm configuring a copy of Linux inside VirtualBox and have assigned it a 17Gb blank hard drive to keep a copy of the Galaxy Nexus' storage. I'm hoping to set it running before I go to sleep, and tomorrow I can set it copying everything onto the Nexus 5.
Surely the need to image across phones comes up frequently at Google? They really could do with a migration tool where you plug in both devices by USB and the tool makes a reasonable duplicate of everything on the old phone onto the new phone - Android 4.3 to Android 4.4 is barely a change. And Titanium Backup can be used to fix up any local breakage, once you have Titanium Backup's actual backup store transferred!
Bah! Not impressed!