Root Camp is a series we're going to run that is aimed at all levels of rooted and non-root users who are interested in the things that root can do. Each week a topic will be posted, but the comments are open to discussion of any root topic, or a better way to do the topic. We'll see how it works and modify accordingly.
Today's topic: Switching ROMs without losing your sanity.
One of the biggest complaints people express about switching ROMs is losing their apps, saved games, text messages, etc. for a ROM they may or may not love.
While you can always make a nandroid backup and restore back to a previous point if you decide you don't like the ROM or it's missing a feature you have to have, any changes you made while running the ROM you decided against keeping would be lost. This includes any new text messages, progress in the new game you got and love, call logs, etc.
However, you can take your apps and data from ROM to ROM without losing anything and with just a touch to backup and restore. If you've gotten 36 hours into ROM X and don't like it due to stability or any other reason, but have made some fabulous achievements in Angry Birds, you can still bring those back to your last working ROM.
If you've noticed, most of my home screens from ROM to ROM look about the same. There's always Circle Launcher, Battery Monitor Widget, Dual Mount SD, Google Voice, and lately Chrome Beta on the home screen. What I don't usually show is that along with those, from ROM to ROM there's also Google+“>Google+, Goggles, Twitter, Facebook, Paper Camera, Netflix, Barcode Scanner, Yelp, Zombie Farm, and whatever game I might be playing that week – all with the same data they had when I chose to flash a new ROM.
I'm going to discuss how to back up apps and data using Titanium Backup Professional, which is available from Google Play for $6.58. There are other free ways to move your stuff from ROM to ROM, but this is what I'm writing about today. Feel free to post other methods.
While you may be familiar with Titanium Backup's backup and restore features, you've probably already seen or been warned that backing everything up on your current ROM and then attempting to restore it all on the next ROM you flash will generally result in several issues. An example is a ROM-Specific mod getting carried over and executed in another ROM, or a CPU setting program restoring and getting into a fight with CPU control on the new ROM.
So although you want to back up everything in the event you might need it again, there are only a few things you're going to want from ROM to ROM. These are probably your favorite apps and games, text messages, and contacts.
As long as you have your contacts synced with your Gmail account, there's no issue there. Simply signing in to your Google account on the new ROM will bring your contacts back to you. If you require your contacts not be stored out in the Google cloud for privacy reasons, you'll need to manually export and import them.
If you're using Google Voice for text messaging like I do, your text messages and voicemail are stored on Google's servers and will pop back after you open Google Voice on your new ROM. Google Voice isn't for everyone, so you may want a different backup solution than Titanium as some ROMs don't play nice with text message backups, although Titanium does have the ability to back texts up.
First off, we're going to create a label for all the apps we like and want to carry with us between ROMs. Open Titanium Backup, backup/restore, click to edit filters, create label, name it "my stuff".
Next, go to backup/restore, find your first program you can't live without between ROMs, press and hold it, and choose "assign labels," select label "my stuff." Repeat until done with every app you want to travel with. I'd advise choosing sparsely, as restores can take some time and you can always restore items individually at a later time.
So, my setup: Titanium Backup is set every night at 2AM to redo backups for modified data, and at 3am to backup all new apps and newer versions. After that it syncs to my Dropbox in case I accidentally wipe out my SD card.
There's a copy of the installable Titanium Backup sitting on my SD card so I don't need to download it from the market after every ROM flash – you can create this from Titanium Backup by hitting menu, more, create "update.zip." I just save it as "TitaniumBackup-versionnumber.zip".
Make sure to go to menu, preferences, and select Auto-sync TB settings, so when you install a different ROM you don't have to set up the schedules again.
Before flashing a new ROM I run Titanium's two backup schedules manually. Immediately after flashing a new ROM, I choose to install the Titanium Backup zip from recovery so it's there when I get into the new ROM.
After playing around with the new ROM for a few minutes to ensure it's stable, open Titanium Backup, backup/restore, click to edit filters, check "mystuff", back, menu, batch, choose restore missing apps + all system data.
After that, place your widgets where you want them and you should be up and running with your favorite apps on a new ROM.
Depending on the ROM your Twitter and Facebook settings may or may not restore as well. It's sort of a crap shoot on that.
If you don't like the ROM and want to go back, manually run the backup schedules, restore your nandroid, select the "mystuff" filter and restore.
With 36 items on my travel list, I've gone from a half hour on average to make a new ROM mine to about two minutes of actually doing anything.
Things to note
If you're restoring an app purchased with the Amazon Appstore, you'll need to include the Appstore in your "mystuff" backup labels as well. The same probably goes for any other markets or stores out there, but I don't know. Amazon purchased apps require the Appstore application to authenticate purchases occasionally.
Thanks to SemperFratres of the VP Forums for setting me straight with Titanium Backup's labels after nearly two years of doing Titanium Backup the hard way (individual restore).
If you have any questions or suggestions for another Root Camp next week, want to storm my house with an angry pitchfork-bearing mob, or questions on rooting EVOs in general, post them below.