Где в файловой системе хранятся SMS-сообщения?

56

Где в файловой системе хранятся SMS-сообщения?

Я использую ES File Explorer для просмотра, но не могу найти это - это на телефоне или SD, и где?

У меня есть HTC Wildfire, но я бы предположил, что он не сильно отличается от поставщика к поставщику (хотя я разработчик для iOS, который мало знает об Android).

Алекс Коплан
источник

Ответы:

43

Смотрите здесь: https://stackoverflow.com/questions/4809874/how-to-access-the-sms-storage-on-android

Суть в том, что SMS / MMS находятся в базах данных на телефоне, и ответ на вопрос содержит ссылку на это руководство .

Расположение базы данных может отличаться в зависимости от телефона, но вы можете посмотреть ее с помощью этой команды через adb (вам нужно быть пользователем root, чтобы найти ее, потому что она находится в защищенной области хранения):

find / -name "*mmssms*"

На моем устройстве (Samsung Galaxy S) появились следующие базы данных:

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

Первый из них является родным db, а второй - приложением sms, которое я использую.

joweiser
источник
Не могли бы вы объяснить, как он хранится ... он выглядит как XML? и где это? - Я не говорю с точки зрения кодирования, поскольку я ничего не знаю о разработке Android.
Алекс Коплан
3
Это база данных sqlite. Вы можете посмотреть на это с помощью программы просмотра sqlite - какую операционную систему вы используете?
Джовейзер
И вы должны быть суперпользователем для доступа к БД - добавьте это к ответу выше.
Джовейзер
Вот независимый от платформы просмотрщик sqlite, если вы хотите посмотреть эти файлы: http://sourceforge.net/projects/sqlitebrowser/
joweiser
2
@masterjo: Браузер баз данных SQLite не разрабатывался с 2009 года, и он не мог ничего показать из файла .db, когда я попробовал его сегодня. Вот еще один браузер SQLite, который работал - sqlitestudio.one.pl
Дэн Даскалеску
10

Вот полезная информация также.

Это абсолютный путь к SMS и MMS DB на большинстве устройств Android:

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

user42973
источник
Это на самом деле должно быть переименовано в /data/data/com.android.providers.telephony/databases/mmssms.db. Обратите внимание на .telephony
smac89
На Киткатdevice/data/data/com.android.providers.telephony/databases/m‌​mssms.db
JinSnow
9

Обратите внимание, что по состоянию на Kitkat (Android 4.4, выпуск 2013 г.) путь по умолчанию изменился с:

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

в

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

Обновление: как уже упоминалось в комментариях, последний путь уже существует в JB.

eyecatchUp
источник
Изменения должны были быть внесены задолго до того, как KitKat был запущен, поскольку /data/data/com.android.providers.telephony/databases/mmssms.dbсуществует в моем JB.
Повелитель огня
Ну, JB - это один релиз перед KK. Таким образом, «путь раньше» может быть немного преувеличен. ;-)
eyecatchUp
8

Похоже, что он переехал data/User_DE/0/com.android.providers.telephony/databasesс нугой.

По крайней мере, это то место, где его можно найти на моем Nexus 6. Надеюсь, это поможет.

Эль мексикен
источник