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

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

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

#1 楼

参见此处: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
2011-12-13 23:44



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

– joweiser
2011-12-13 23:50

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

– joweiser
2011-12-13 23:50

如果您想查看这些文件,请使用以下独立于平台的sqlite查看器:http://sourceforge.net/projects/sqlitebrowser/

– joweiser
2011-12-14在0:24



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

– Dan Dascalescu
13-10-17在7:17

#2 楼

这也是一条有用的信息。

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

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

评论


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

–smac89
16 Dec 30'8:02



在kitkat设备/数据/数据/com.android.providers.telephony/数据库/m‌mssms.db

– JinSnow
17年6月8日在14:45

#3 楼

请注意,自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中已经存在后者。

评论


自从在我的JB中存在/data/data/com.android.providers.telephony/databases/mmssms.db以来,必须在启动KitKat之前已对更改进行了介绍。

–Firelord♦
16 Jan 10'在5:09



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

– eyecatchUp
16 Jan 10 '18 at 18:48

#4 楼

看起来它已经通过Nougat移至data/User_DE/0/com.android.providers.telephony/databases

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