55

Where in the file system are SMS messages stored?

I'm using ES File Explorer to browse around but can't seem to find this - is it on the phone or the SD, and where?

I have an HTC Wildfire but I would imagine it doesn't vary hugely from vendor to vendor (although I am an iOS developer who knows little about Android).

43

See here: https://stackoverflow.com/questions/4809874/how-to-access-the-sms-storage-on-android

The gist is that SMS/MMS are residing in databases on the phone and the answer to the question contains the link to this tutorial.

The location of the database might vary from phone to phone, but you can look it up with this command via adb (you need to be root to find it because it's in the protected storage area):

find / -name "*mmssms*"

On my device (Samsung Galaxy S) these databases turned up:

./dbdata/databases/com.android.providers.telephony/mmssms.db
./data/data/com.jb.gosms/databases/gommssms.db

The first one being the native db and the second one is by the sms app I'm using.

  • could you explain how it's stored... it looks like XML? also where is it? - I'm not talking from a coding point of view as I do not know anything about android development. – Alex Coplan Dec 13 '11 at 23:44
  • 3
    It's an sqlite database. You can look at it with an sqlite viewer - which operating system do you use? – joweiser Dec 13 '11 at 23:50
  • And you have to be root to access the db - going to add that to the answer above. – joweiser Dec 13 '11 at 23:50
  • Here's a platform independent sqlite viewer if you want to look at those files: http://sourceforge.net/projects/sqlitebrowser/ – joweiser Dec 14 '11 at 0:24
  • 2
    @masterjo: SQLite Database Browser hasn't been developed since 2009 and it couldn't show anything from the .db file when I tried it today. Here's another SQLite browser that worked - sqlitestudio.one.pl – Dan Dascalescu Oct 17 '13 at 7:17
10

Here's a helpful piece of info also.

This is the absolute path to SMS and MMS DB on most android devices:

/data/data/com.android.providers/telephony/databases/mmssms.db

  • This should actually be renamed to /data/data/com.android.providers.telephony/databases/mmssms.db. Notice the .telephony – smac89 Dec 30 '16 at 8:02
  • On kitkat device/data/data/com.android.providers.telephony/databases/m‌​mssms.db – JinSnow Jun 8 '17 at 14:45
9

Note that, as of Kitkat (Android 4.4, released Sept 2013), the default path changed from:

/data/data/com.android.providers/telephony/databases/mmssms.db

to

/data/data/com.android.providers.telephony/databases/mmssms.db

Update: As mentioned in the comments, the latter path already exists in JB.

  • The changes must have been introduced way before KitKat was launched since /data/data/com.android.providers.telephony/databases/mmssms.db exists in my JB. – Firelord Jan 10 '16 at 5:09
  • Well, JB is one release before KK. So, "way before" may be a bit exaggerated. ;-) – eyecatchUp Jan 10 '16 at 18:48
7

Looks like it moved to data/User_DE/0/com.android.providers.telephony/databases with Nougat.

At least, this is where it can be found on my Nexus 6. Hope this helps.

protected by Community Nov 4 '17 at 11:09

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

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