Wo im Dateisystem werden SMS-Nachrichten gespeichert?


56

Wo im Dateisystem werden SMS-Nachrichten gespeichert?

Ich verwende ES File Explorer, um mich umzusehen, kann dies jedoch nicht finden - befindet es sich auf dem Telefon oder auf der SD-Karte und wo?

Ich habe ein HTC Wildfire, aber ich würde mir vorstellen, dass es nicht von Hersteller zu Hersteller sehr unterschiedlich ist (obwohl ich ein iOS-Entwickler bin, der wenig über Android weiß).

Antworten:


43

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

Das Wesentliche ist, dass sich SMS / MMS in Datenbanken auf dem Telefon befinden und die Antwort auf die Frage den Link zu diesem Tutorial enthält .

Der Speicherort der Datenbank kann von Telefon zu Telefon variieren. Sie können ihn jedoch mit diesem Befehl über adb abrufen (Sie müssen root sein, um ihn zu finden, da er sich im geschützten Speicherbereich befindet):

find / -name "*mmssms*"

Auf meinem Gerät (Samsung Galaxy S) sind folgende Datenbanken aufgetaucht:

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

Die erste ist die native Datenbank und die zweite ist die SMS-App, die ich verwende.


Können Sie erklären, wie es gespeichert ist? Es sieht aus wie XML. auch wo ist es - Ich spreche nicht aus der Sicht der Codierung, da ich nichts über die Android-Entwicklung weiß.
Alex Coplan

3
Es ist eine SQLite-Datenbank. Sie können es mit einem SQLite-Viewer anzeigen - welches Betriebssystem verwenden Sie?
Joweiser

Und Sie müssen root sein, um auf die Datenbank zugreifen zu können - das wird der obigen Antwort hinzugefügt.
Joweiser

Hier ist ein plattformunabhängiger SQLite-Viewer, wenn Sie sich diese Dateien ansehen möchten: http://sourceforge.net/projects/sqlitebrowser/
joweiser

2
@masterjo: Der SQLite-Datenbankbrowser wurde seit 2009 nicht mehr entwickelt. Als ich ihn heute ausprobierte, konnte er nichts aus der .db-Datei anzeigen. Hier ist ein anderer SQLite-Browser, der funktioniert hat - sqlitestudio.one.pl
Dan Dascalescu

10

Hier ist auch eine hilfreiche Information.

Dies ist der absolute Pfad zur SMS- und MMS-Datenbank auf den meisten Android-Geräten:

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


Dies sollte eigentlich in umbenannt werden /data/data/com.android.providers.telephony/databases/mmssms.db. Beachten Sie die .telephony
smac89

Auf kitkatdevice/data/data/com.android.providers.telephony/databases/m‌​mssms.db
JinSnow

9

Beachten Sie, dass sich ab Kitkat (Android 4.4, veröffentlicht im September 2013) der Standardpfad geändert hat von:

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

zu

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

Update: Wie in den Kommentaren erwähnt, existiert der letztere Pfad bereits in JB.


Die Änderungen müssen vor dem Start von KitKat eingeführt worden sein, da sie /data/data/com.android.providers.telephony/databases/mmssms.dbin meiner JB vorhanden sind.
Firelord

Nun, JB ist eine Veröffentlichung vor KK. So kann "viel früher" ein bisschen übertrieben sein. ;-)
eyecatchUp

8

Sieht aus wie es data/User_DE/0/com.android.providers.telephony/databasesmit Nougat bewegt .

Zumindest ist es hier auf meinem Nexus 6 zu finden. Hoffe, das hilft.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.