¿En qué parte del sistema de archivos se almacenan los mensajes SMS?


56

¿En qué parte del sistema de archivos se almacenan los mensajes SMS?

Estoy usando ES File Explorer para navegar, pero parece que no puedo encontrar esto: ¿está en el teléfono o en la SD, y dónde?

Tengo un HTC Wildfire pero imagino que no varía mucho de un proveedor a otro (aunque soy un desarrollador de iOS que sabe poco sobre Android).

Respuestas:


43

Ver aquí: https://stackoverflow.com/questions/4809874/how-to-access-the-sms-storage-on-android

La esencia es que los SMS / MMS residen en bases de datos en el teléfono y la respuesta a la pregunta contiene el enlace a este tutorial .

La ubicación de la base de datos puede variar de un teléfono a otro, pero puede buscarla con este comando a través de adb (debe ser root para encontrarla porque está en el área de almacenamiento protegida):

find / -name "*mmssms*"

En mi dispositivo (Samsung Galaxy S) aparecieron estas bases de datos:

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

El primero es el db nativo y el segundo es por la aplicación sms que estoy usando.


¿Podría explicar cómo se almacena ... se parece a XML? tambien donde esta - No estoy hablando desde un punto de vista de codificación, ya que no sé nada sobre el desarrollo de Android.
Alex Coplan

3
Es una base de datos sqlite. Puede verlo con un visor sqlite: ¿qué sistema operativo utiliza?
joweiser

Y debe ser root para acceder a la base de datos, va a agregar eso a la respuesta anterior.
joweiser

Aquí hay un visor de sqlite independiente de la plataforma si desea ver esos archivos: http://sourceforge.net/projects/sqlitebrowser/
joweiser

2
@masterjo: SQLite Database Browser no se ha desarrollado desde 2009 y no podía mostrar nada del archivo .db cuando lo probé hoy. Aquí hay otro navegador SQLite que funcionó: sqlitestudio.one.pl
Dan Dascalescu

10

Aquí hay una información útil también.

Esta es la ruta absoluta a SMS y MMS DB en la mayoría de los dispositivos Android:

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


Esto debería ser renombrado a /data/data/com.android.providers.telephony/databases/mmssms.db. Observe la .telephony
smac89

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

9

Tenga en cuenta que, a partir de Kitkat (Android 4.4, lanzado en septiembre de 2013), la ruta predeterminada cambió de:

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

a

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

Actualización: como se menciona en los comentarios, la última ruta ya existe en JB.


Los cambios deben haberse introducido mucho antes de que se lanzara KitKat, ya que /data/data/com.android.providers.telephony/databases/mmssms.dbexiste en mi JB.
Señor del fuego

Bueno, JB es un lanzamiento antes de KK. Entonces, "mucho antes" puede ser un poco exagerado. ;-)
eyecatchUp

8

Parece que se mudó a data/User_DE/0/com.android.providers.telephony/databasesTurrón.

Al menos, aquí es donde se puede encontrar en mi Nexus 6. Espero que esto ayude.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.