How to restore all apps from backup on android

I ve been changing my roms often on my nexus S, the latest being Icecream. One thing thats always been painful was all application restore across roms. Market downloads it all over again but you ve to wait for it. In my case, my apps size about 300 MB in all, abut 130 apps. So I ve to wait for all of them to download all over again.

There are means and ways of taking backup and restores. But being a command line guy, I always was too lazy for them. That's when I decided to create my own way of backing up the apps and restoring them.

I am assuming you'll know what it means by adb and mount when you read them. If not, please head over to xda forums or other similar android forums. Another assumption am making is you are already rooted.

How to take backup of apps before flashing:

1) Go to recovery -> mounts and storage
2) mount /data and /sdcard.
3) mount USB storage
4) go to adb shell
5) Copy your app .apk files to the USB storage
mkdir /sdcard/app_backup
cp -rv /data/app/* /sdcard/app_backup

Once you are done, you can make another copy out of the USB storage on your computer as well.

When you are done with your flash, repeat the above (1-4) steps, and copy the files from /sdcard/app_backup to /data/app/
cp -rv /sdcard/app_backup /data/app/

(there is adb push and pull as well, I ven't tried that. See adb -h for more info and maybe you can try that as well).

6) clear the cache (wipe cache partition)
7) Advanced -> wipe dalvik cache

8) reboot :)

The reboot might take time after the steps above for restore as it will create the dalvik cache out of the apps.
It might look like its stuck on the bootloader screen (CM round circle or whatever is your rom). Give it sometime, go for a coffee. Time will depend upon your number of apps. I did went for a cup of coffee and it was ready by the time I came back.

This is a very rudimentary post on how to restore apps. You can create nandroid backups as well. In that case your /data will be saved as data.ext.tar or something similar. Just untar it and get the files for restoring.

Let me know if you need more help.

cheers
Anshu Prateek

PS: In case you want to unroot your nexus s to a stock image, here is a good compilation of stock images:
http://forum.xda-developers.com/showthread.php?t=1063664

Written on November 4, 2011