Tell me more ×
Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. It's 100% free, no registration required.

So I recently made an .img using dd of my Froyo installation on my phone prior to wiping and installing a custom Jellybean ROM. Turns out that the contacts were saved locally and not with Google.

I cannot for the life of me find my contacts anywhere on the images when I mount them. I've also tried attaching the .img as an external SD card to see if it could import and then export the contacts in a virtual android emulator. I just can't find them anywhere. I'm guessing they're hidden in some sql database somewhere in the guts of the OS but I'm out of ideas. Is there a way to boot the .img as the main OS on the Android emulator? Is there an easier way to go about this?

share|improve this question

3 Answers

up vote 5 down vote accepted

Well, this took a long time. For future searchers, here's what you can do:

Find your contacts2.db file hidden somewhere in Android. Most of the time it's located in /data/data/com.android.providers.contacts/databases. I was lucky and found it in a search through Titanium Backups' tarballs. Nab that file. It has everything in it in a sql database.

I then found this excellent script to extract and convert all contacts into a .vcf format for easy importing into the next device. It's located here on Github and requires two dependencies (on an Ubuntu 12.04 machine in which it was written for): sqllite3 and libsqllite3-dev:

sudo apt-get install sqlite3 libsqlite3-dev

After dependencies are satisfied, save the script on Github as dbconverter.sh. Mark it as executable:

chmod +x dbconverter.sh

use the script like this:

./dbconverter.sh contacts2.db > contacts2.vcf

You will then have a lovely .vcf file for easy importing into your phone.

share|improve this answer

Chauncellor, your solution worked like a charm! Thanks for this!

Also works on Mac too, just download the sqlite 3 here, place all files (sqlite3, contacts2.db and the script) on the same folder and run the script. Pure magic! haha

share|improve this answer
for people with Homebrew installed, brew install sqlite3 can be used – Eric Hu Mar 6 at 5:47

For those who don't use dd, AppExtractor supports importing contacts from a Nandroid backup.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.