Thursday 12th July 2012: 1.38pm. So, yesterday +Android 4.1 Jelly Bean OTA update comes out for my so at about 11pm I go to apply it. An assert barfs that my build.prop has been changed, so I hand edit it to make it look like stock. It still barfs (it's not like build.prop having a single character out should fail an OTA update). I try manually downloading the update in case it got corrupted. Same problem. So, I hand remove the assert from the update package (this is actually very easy) and press ahead with the OTA update manually.
Well you can guess what happens next! The OTA update completes without error and reboots. The device then hangs for thirty minutes during first boot, so I pull the battery and try again. Still hangs on first boot.
So I gnash my teeth because a factory reset is now inevitable. I do that, losing all my apps (I have Titanium Backup + nandroid backups on the sdcard, so not all is lost). Still hangs on first boot.
By this stage it's 3am, and I'm exhausted and really, really want to sleep. But it suddenly occurs to me I'm in serious doo-doo because the Galaxy Nexus has no external sdcard i.e. it pretends it has one when in fact it uses internal storage. Internal storage, which of course, is completely wiped if you hard reset the phone as I now have no choice in doing. So now I must find some way of pulling everything off its fake sdcard onto a PC. All 14Gb of it. Over a USB2 connection (read some hours).
And here's where things start getting fun. Because I figure sure, tell my PC to copy everything over. And this it starts to do before puking on a filename being of a format which can't be stored on PC filing systems (oh joy!). So you rename the file, but of course there is no way of restarting a transfer - you have to start all over again. And then it trips on another filename.
It's approaching 5.30am when I realise I could be at this for hours. Another solution is required, and due to the transfer time I need to start it running before I am allowed to sleep or else I'll be at this all day tomorrow too. The only solution, I realise, is to back the bloody thing up onto an ext4 filing system so the filenames are 100% compatible. That means onto a Linux box. That means installing the Android SDK onto my cloud node in the house. Joy.
By 6.30am I am singularly failing to get the Android SDK to work inside an OpenVZ container. The Android SDK needs bloody Java, and Java is a God damn mess on Linux. I give up on this approach, and start looking for a custom enthusiast standalone build of 'adb', the program which does the backup from an otherwise screwed Android device.
By 6.45am I have found one, but it's 32 bit. Cue patching in 32 bit libraries.
By 6.55am the stupid thing finally comes to life and starts copying. I fire it into a 'screen' session lest the Wifi disconnect and cancels itself half way through. I crawl into bed next to a Megan just about to wake to go to work. I didn't even bother removing my clothes. Passed out immediately.
So, today I wake at 1pm and it looks like it did the right thing at last and my 14Gb of data is safe. Took me less than half an hour to hard reset the phone to Android 4.0.4 takju and patch in the 4.1 OTA update as there are no 4.1 factory images yet. Voila, I now have a Jelly Bean phone to my left. Now I have to copy all my data back onto the stupid thing and restore my backups. Joy.
All in all, this is not what you buy when you buy a Nexus phone. These are supposed to be directly supported by Google and are supposed to be the flawless Google Android experience. If this is the flawless Google Android experience, we have a very long run still to go before Android matches good old Microsoft Windows for getting OS updates to not completely bollocks your computer. Windows was getting this right in the 1990s on far more customised OSs than my stock Android. Google needs to do far more update testing on real life phones not factory images.
Google also needs a FAR better backup solution, specifically one which works with Windows and preferably over USB3 so it doesn't take hours, or better include a God damn sdcard slot so we can physically remove our important data like any top end phone should be able to do. This business of internal storage only is an Apple invention and it's a bad idea.
Colour me not a happy punter today. I'm tired and pissed off. Roll on RIM's BB10 I guess, because if I'm working for I'd never let ill thought through crap like this out the door without creating an almighty stink.
#Android #JellyBean #ota #nexus #update #sucks #galaxynexus #blackberry #bb10