Moving your Android Contact List to a New Phone

This is a somewhat technical article and assumes knowledge of Android and Linux.

Just got a Nexus S, and had some issues moving my contact list from my old phone. So I decided to write this up.

You have two options:

* If you come from a ROM that allows export to SD, just use Import/Export to USB storage, copy the file over, then import it

* Option #2 would have been to use Titanium Backup. However, it doesn’t seem to work right for restoring on the Nexus S (yet).

* Otherwise, you can copy the contacts2.db file. Of course, you have to root your target phone first. Then copy the db file to the sdcard.

As root, do (assuming standard layout):


cd /data/data/com.android.providers.contacts/databases
rm contacts2.db
cat /sdcard/contacts2.db > contacts2.db
chmod 660 contacts2.db
ls -l .. # see who owns this directory
chown contats2.db

You might have to restart your phone for the contacts to be re-read.

6 Responses to Moving your Android Contact List to a New Phone

  1. I use the same method, copy contacts2.db. From what I could see, contacts2.db also contains the call log.

  2. miron says:

    That’s a nice android resource list!

    Unfortunately, call log and mms restore didn’t work going from 2.2 to 2.3. Not a huge priority for me…

  3. hello there!

    I have my contacts2.db in my pc. How do i copy it back to the phone? Just put the file in the SD card and type the commands n the terminal?

    Thanks!

  4. miron says:

    These commands would be typed in a terminal on the phone, as root. Yes, Android is based on linux, and you get a shell. However, you have to root your phone and use ‘adb shell’ to get a shell prompt, then type ‘su’ to get root. The tricky part is rooting your phone, which is beyond the scope of this article…

  5. Hrvoje says:

    Hi there!

    I did all this on my XPERIA X10. But I have a problem. Whenever I delete the old contacts2.db and replace it with the new one, I open the contacts app and the new one with all the numbers and stuff gets immediately replaced by the old one again which appears from nowhere. Funny thing is, if I tap on the call log I can see all the old calls with all the correct contact names. And then, one by one, the names get deleted and only call record show, and my phonebook is back to having none of the contacts from the file I just copied. What can I do?

  6. Tiago Marques says:

    Hi. Tried to copy directly from nandroid backup the file /data/data/com.android.providers.contacts/databases/contacts2.db over the one on the phone (same dir) using es explorer but an error (“android.process.acore was suddenly terminated”/”contact list was suddenly terminated”) was always ocurring after I make the change. I tried to reboot phone, but the error was still appearing.

    I managed to solve by :

    1 – copy /data/data/com.android.providers.contacts/databases/contacts2.db from backup directly to the phone (same dir in root)
    2 – install contacts2vcf program on google play store
    3 – run contacts2vcf and backup all of the contacts in the phone to an external file on SDcard
    4 – goto settings>applications>all>contact storage>clean all data
    5 – goto contact manager on the phone>options>import/export> from sdcard> to phone

    and thats all. the contacts converted to vcf and imported by contact manager dont seem to corrupt contact databases causing errors anymore.

    the only thing i have noted is that contacts are in incorrect order (last name and first name are switched), but this might be be because my android so is portuguese. those who prefer last name first might not have this error.

Leave a Reply to miron

Name and Email Address are required fields. Your email will not be published or shared with third parties.