Où les messages SMS sont-ils stockés dans le système de fichiers?

56

Où les messages SMS sont-ils stockés dans le système de fichiers?

J'utilise ES File Explorer pour naviguer mais je n'arrive pas à trouver ceci - est-ce au téléphone ou sur la carte SD, et où?

J'ai un HTC Wildfire, mais j'imagine qu'il ne varie pas énormément d'un fournisseur à l'autre (même si je suis un développeur iOS qui en sait peu sur Android).

Alex Coplan
la source

Réponses:

43

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

L'essentiel est que les SMS / MMS résident dans des bases de données sur le téléphone et la réponse à la question contient le lien vers ce tutoriel .

L'emplacement de la base de données peut varier d'un téléphone à l'autre, mais vous pouvez le rechercher avec cette commande via adb (vous devez être root pour le trouver car il se trouve dans la zone de stockage protégée):

find / -name "*mmssms*"

Sur mon appareil (Samsung Galaxy S), ces bases de données sont apparues:

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

Le premier étant la base de données native et le second par l'application sms que j'utilise.

joweiser
la source
Pourriez-vous expliquer comment il est stocké ... cela ressemble à XML? aussi où est-il? - Je ne parle pas d'un point de vue du code car je ne sais rien du développement Android.
Alex Coplan
3
C'est une base de données sqlite. Vous pouvez le regarder avec un visualiseur sqlite - quel système d'exploitation utilisez-vous?
joweiser
Et vous devez être root pour accéder à la base de données - vous allez l'ajouter à la réponse ci-dessus.
joweiser
Voici une visionneuse sqlite indépendante de la plate-forme si vous souhaitez consulter ces fichiers: http://sourceforge.net/projects/sqlitebrowser/
joweiser
2
@masterjo: SQLite Database Browser n'a pas été développé depuis 2009 et il ne pouvait rien afficher à partir du fichier .db lorsque je l'ai essayé aujourd'hui. Voici un autre navigateur SQLite qui a fonctionné - sqlitestudio.one.pl
Dan Dascalescu
10

Voici une information utile également.

C’est le chemin absolu vers les bases de données SMS et MMS sur la plupart des appareils Android:

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

utilisateur42973
la source
Cela devrait en fait être renommé /data/data/com.android.providers.telephony/databases/mmssms.db. Remarquez la .telephony
smac89
Sur kitkatdevice/data/data/com.android.providers.telephony/databases/m‌​mssms.db
JinSnow
9

Notez que, à partir de Kitkat (Android 4.4, sorti en septembre 2013), le chemin par défaut a été modifié:

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

à

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

Mise à jour: Comme mentionné dans les commentaires, ce dernier chemin existe déjà dans JB.

eyecatchUp
la source
Les modifications doivent avoir été introduites bien avant que KitKat ne soit lancé car il /data/data/com.android.providers.telephony/databases/mmssms.dbexiste dans mon JB.
Seigneur du Feu
Eh bien, JB est une version avant KK. Donc, "bien avant" peut être un peu exagéré. ;-)
eyecatchUp
8

On dirait qu'il a déménagé data/User_DE/0/com.android.providers.telephony/databasesavec Nougat.

Au moins, c’est là que l’on peut le trouver sur mon Nexus 6. J'espère que cela vous aidera.

El Mexiken
la source