SMS消息存储在文件系统上的什么位置?


56

SMS消息存储在文件系统中的什么位置?

我正在使用ES File Explorer进行浏览,但似乎找不到它-是在手机还是SD上,在哪里?

我有一个HTC Wildfire,但我想它在各个供应商之间并不会有太大的差异(尽管我是一个对Android知之甚少的iOS开发人员)。

Answers:


43

看到这里:https : //stackoverflow.com/questions/4809874/how-to-access-the-sms-storage-on-android

要点是SMS / MMS驻留在电话的数据库中,问题的答案包含此教程的链接。

数据库的位置可能因电话而异,但是您可以通过adb使用此命令查找数据库(您必须是root用户才能找到它,因为它位于受保护的存储区中):

find / -name "*mmssms*"

在我的设备(三星Galaxy S)上,这些数据库打开了:

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

第一个是本机数据库,第二个是我正在使用的sms应用程序。


您能解释一下它的存储方式吗……看起来像XML?还在哪里?-我不是从编码的角度讲的,因为我对android开发一无所知。
Alex Coplan

3
这是一个sqlite数据库。您可以使用sqlite查看器查看它-您使用哪种操作系统?
joweiser 2011年

而且您必须是root用户才能访问数据库-将其添加到上面的答案中。
joweiser 2011年

如果您想查看这些文件,请使用以下独立于平台的sqlite查看器:http
joweiser 2011年

2
@masterjo:SQLite数据库浏览器自2009年以来就没有开发过,当我今天尝试使用它时,它无法显示.db文件中的任何内容。这是另一个有效的SQLite浏览器-sqlitestudio.one.pl
Dan Dascalescu 2013年

10

这也是一条有用的信息。

这是大多数android设备上SMS和MMS DB的绝对路径:

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


实际上,它应该重命名为/data/data/com.android.providers.telephony/databases/mmssms.db。请注意.telephony
smac89

在kitkat上device/data/data/com.android.providers.telephony/databases/m‌​mssms.db
-JinSnow

9

请注意,自Kitkat(Android 4.4,2013年9月发布)开始,默认路径已更改为:

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

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

更新:如评论中所述,后一个路径已存在于JB中。


自从/data/data/com.android.providers.telephony/databases/mmssms.db我的JB存在以来,必须在启动KitKat之前就已经引入了这些更改。
Firelord

好吧,JB是KK之前的一个版本。因此,“之前”可能有点夸张。;-)
eyecatchUp

7

看起来像data/User_DE/0/com.android.providers.telephony/databases牛轧糖一样。

至少在我的Nexus 6上可以找到它。希望对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.