An Android Moment
10 December 2009, 01:34
My Android ADP1 crashed on me last weekend. I did what I could at the time: extensive googling, trying stuff and finally reported a bug.
Wait! What I most importantly did in retrospect was to take a nandroid backup of my phone. It wasn’t easy, I was glad to have used fastboot before.
Anyway, the reason for doing a backup was: I couldn’t wait to troubleshoot more or wait for help on the bug because I needed a phone! So I did a backup and wiped / reflashed my phone. It started working again, to my relief.
At this point, I knew that my data would be recoverable in a binary obscure way from the images grabbed by nandroid. What I didn’t expect is that I could continue to troubleshoot the bug in the emulator. It turns out that I was able to do so using the -data flag and providing my backed-up data.img.
After some input from a google engineer, I realize my problem looks like yaffs2 corruption. yaffs2 is the filesystem used by android for the things it stores on flash memory. To simplify things, a copy of all the code / apps is stored on the user partition in dalvik-cache/ and some important file in there was corrupted preventing my phone to boot.
Here’s the ha-ha moment: I deleted the content of dalvik-cache/ in my backup image (a copy of it of course!) and the emulator booted and showed me my home screen! It was like I got my old phone again!
Now, I’m able to visually backup my data through the apps themselves and all. It was a level of flexibility I seriously didn’t expect!
Cheers to the google engineers!
— Olivier Bilodeau
Comment
Clever attacks changing the game of online banking gmail offline with prism on linux
