Gdzie w systemie plików przechowywane są wiadomości SMS?

56

Gdzie w systemie plików przechowywane są wiadomości SMS?

Używam ES File Explorera do przeglądania, ale nie mogę tego znaleźć - czy to na telefonie czy na karcie SD i gdzie?

Mam HTC Wildfire, ale wyobrażam sobie, że nie różni się on znacznie od dostawcy (chociaż jestem programistą iOS, który niewiele wie o Androidzie).

Alex Coplan
źródło

Odpowiedzi:

43

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

Istotą jest to, że SMS / MMS znajdują się w bazach danych telefonu, a odpowiedź na pytanie zawiera link do tego samouczka .

Lokalizacja bazy danych może się różnić w zależności od telefonu, ale możesz to sprawdzić za pomocą tego polecenia za pomocą adb (musisz być root, aby ją znaleźć, ponieważ znajduje się w chronionym obszarze przechowywania):

find / -name "*mmssms*"

Na moim urządzeniu (Samsung Galaxy S) pojawiły się następujące bazy danych:

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

Pierwszy to natywna baza danych, a drugi to aplikacja sms, której używam.

joweiser
źródło
czy możesz wyjaśnić, jak jest przechowywany ... wygląda jak XML? także gdzie to jest? - Nie mówię z programistycznego punktu widzenia, ponieważ nie wiem nic o rozwoju Androida.
Alex Coplan,
3
To baza danych sqlite. Możesz na to spojrzeć za pomocą przeglądarki sqlite - z jakiego systemu operacyjnego korzystasz?
joweiser
Musisz mieć uprawnienia roota, aby uzyskać dostęp do bazy danych - dodając to do powyższej odpowiedzi.
joweiser
Oto niezależna od platformy przeglądarka sqlite, jeśli chcesz obejrzeć te pliki: http://sourceforge.net/projects/sqlitebrowser/
joweiser
2
@masterjo: Przeglądarka bazy danych SQLite nie była rozwijana od 2009 roku i nie mogła wyświetlić niczego z pliku .db, gdy próbowałem go dzisiaj. Oto kolejna działająca przeglądarka SQLite - sqlitestudio.one.pl
Dan Dascalescu
10

Oto także przydatna informacja.

To jest absolutna ścieżka do SMS i MMS DB na większości urządzeń z Androidem:

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

użytkownik42973
źródło
Należy zmienić nazwę na /data/data/com.android.providers.telephony/databases/mmssms.db. Zwróć uwagę na .telephony
smac89,
Na device/data/data/com.android.providers.telephony/databases/m‌​mssms.db
KitKat
9

Pamiętaj, że od Kitkat (Android 4.4, wydany we wrześniu 2013) domyślna ścieżka zmieniła się z:

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

do

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

Aktualizacja: Jak wspomniano w komentarzach, ta ostatnia ścieżka już istnieje w JB.

eyecatchUp
źródło
Zmiany musiały zostać wprowadzone na długo przed uruchomieniem KitKat, ponieważ /data/data/com.android.providers.telephony/databases/mmssms.dbistnieje w moim JB.
Firelord
Cóż, JB to jedno wydanie przed KK. Tak więc „przed” może być nieco przesadzone. ;-)
eyecatchUp
7

Wygląda na to, że przeniesiono go do data/User_DE/0/com.android.providers.telephony/databasesNougata.

Przynajmniej w tym miejscu można go znaleźć na moim Nexusie 6. Mam nadzieję, że to pomoże.

El Meksyk
źródło