Jump to content

How I Transfered Windows Mobile SMS to Android


Guest patzek

Recommended Posts

Guest patzek

This was just a quick and very dirty solution and its nothing for people who dont know what they are doing... but here is my way:

First of all you still need root access to your Android device to get the SMS Database file located in

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

The file is called mmssms.db and it is a sqlite database. Make a copy of this file to your computer.

Then export your Windows Mobile SMS with this Tool: http://wince.nasenbaeren.net/smsimport/SmsImport.exe

This will create a single XML file of all your SMS Folders. Take this file also to your Computer.

Then, use my little programm attached here and open the xml file. But first change the Foldernames for the SMS folders. For me (German Windows Mobile Device) this was Posteingang for the Inbox and Gesendete Objekte for the Outbox. Take a look at the XML file there you find the foldernames. Now open up your xml file and let the programm read them. When you do it right then the Datagrid will show up your imported SMS Messages. Check, them. Edit them. Do what ever you want :D And at least select your Android SMS Databasefile and write your SMS Messages to the Database. Existing Messages in the Database will not be killed. And the last step copy back your mmssms.db file to your android device (check permissions and owner radio.radio 660) and restart your device.

This has worked for me (Importet 600 SMS without errors) but dont know if this will work with other users databasefiles and sms messages. I'm not responsable for damages or dataloss. Use it at your own risk.

2009-08-19: Alpha 2 Release

  • Corrected Date Field for non German Languages
    • Support for non Hero Databasefiles (Tested Android 1.1 and 1.5 Standard Roms)

    2009-09-03: Alpha 4 Release

    [*]Corrected Problem with Database Export

    Android.SMSImporter.0.4.rar

Edited by patzek
Link to comment
Share on other sites

Guest SKORPiO1975

I still get the error with your newer release. It is: Column recipient_address does not belong to table Table. [OK]

This is my xml file. Is there anything wrong with it? I used the program you pointed out to transfer from my titan wimo6.

<?xml version="1.0" encoding="UTF-8"?>

<SMSExport>

<store name="SMS">

<folder name="Deleted Items"></folder>

<folder name="Drafts"></folder>

<folder name="Inbox"><message date="07/12/2008 12:16:34" sender="+1234567890" recipient="+9876543210">message text goes here</message></folder>

<folder name="Outbox"></folder>

<folder name="Sent Items"></folder>

</store>

</SMSExport>

and this is what it generates. I used a test with only one sms message and still get the TABLE error. If you could please post your xml file, I could edit mine to match the format. Your program reads all smses from XML file.. all columns ie: date, time, from, to, and message match fine.

thank you, Regards, Bart.

Link to comment
Share on other sites

Guest patzek

The Column "recipient_address" is Part from the Messagedatabase not from the XML File. So there is an error with your mmssms.db File. Have you selected the right one? Do you have a Hero? What kind of modification have you made to your telephone? Firmware Version?

You can also check your mmssms.db File with an SQLLite Explorer (there exists an Plugin for Firefox). The Column is Part of the Threadtable. Maybe you can take a look at this.

Link to comment
Share on other sites

Guest AndroidTim

Sorry for the doublepost :D

In what way can you get to the android sms-database? Using Astro or Linda doesn't work.

I succeeded exporting the Windows Mobile xml-file, but I just can't find a way to get to /data/data/com.android.providers.telephony/databases

What programm do I need to get to the sms database file on my Android phone? Yes, my phone is rooted.

Link to comment
Share on other sites

Guest AndroidTim

I used some adb commands like:

adb pull mmssms.db /data/data/com.android.providers.telephony/databases /sdcard

can't get the job done... I'm no developer, I tried to extract this detail from the guide. I got as for as the above line... I feel stupid.

It would be very very usefull if you could write a little howto on pulling and pushing the database file. In the style they did for rooting.

You bet, you'd help a lot of people if you did this. :D

Link to comment
Share on other sites

Guest patzek

use this commands:

adb shell

su

cd /data/data/com.android.providers.telephony/databases

cat mmssms.db > /sdcard/mmssms.db

exit

exit

now you have the database on your sdcard and can be transfered with normal usb transfer

to write it back from the sdcard do:

adb shell

su

cd /data/data/com.android.providers.telephony/databases

mv mmssms.db mmssms.db.old

cat /sdcard/mmssms.db > ./mmssms.db

chown radio.radio mmssms.db

chmod 660 mmssms.db

exit

exit

hope this helps

Link to comment
Share on other sites

Guest AndroidTim

So! That's something completely different as I did...

Thank you for your reply.

The routine hangs during copy...

After:

cat mmssms.db > /sdcard/mmssms.db

The system comes back with "cannot create /sdcard/mmssms.db: read only file system"

Do you have a solution? I seems I have to chmod something first?

Link to comment
Share on other sites

Guest AndroidTim

Here are the result of mount:

mount

rootfs / rootfs ro 0 0

tmpfs /dev tmpfs rw,mode=755 0 0

devpts /dev/pts devpts rw,mode=600 0 0

proc /proc proc rw 0 0

sysfs /sys sysfs rw 0 0

tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0

/dev/block/mtdblock3 /system yaffs2 ro 0 0

/dev/block/mtdblock5 /data yaffs2 rw,nosuid,nodev 0 0

/dev/block/mtdblock4 /cahce yaffs2 rw,nosuid,nodev 0 0

All hocus pocus to me...

Link to comment
Share on other sites

Guest patzek

there is no sdcard mounted, so there are two reasons possible...

1. no sdcard inserted

2. hero is attached to pc with usb transfer enabled because then the sdcard is unmounted, so first disable the usb mode, then you can copy the file to the sdcard and after this you can reenable the usb transfer mode

Link to comment
Share on other sites

Guest AndroidTim

You're right; my device was still usb connected.

It all worked right now. All my sms messages are now transported from my windows mobile device to my HTC Hero!

Thankyou Patzek :D

Link to comment
Share on other sites

Guest SKORPiO1975
The Column "recipient_address" is Part from the Messagedatabase not from the XML File. So there is an error with your mmssms.db File. Have you selected the right one? Do you have a Hero? What kind of modification have you made to your telephone? Firmware Version?

You can also check your mmssms.db File with an SQLLite Explorer (there exists an Plugin for Firefox). The Column is Part of the Threadtable. Maybe you can take a look at this.

Thanks for this info. I have a Tmobile G1

Firmware 1.5

Baseband ver 62.33.20.08H_1.22.14.11

Kernel Version 2.6.27.00393-g6607056 san@sandroid #1

Build CRC1

Flashed w tmobile patched bin with root access. No other nods except previous downgrade to get root and now.. the rc1 :D

When I look at the .db file I see Tables(13) / threads (not thread) and recipient_ids... I will attach a screen grab...

thanks again for all help.

dbtables.JPG

Link to comment
Share on other sites

Guest patzek

The Messagedatabase from the Standard 1.5 Android Build looks a little bit different than the Hero one.

I try to add support for this kind of Database on afternoon.

Link to comment
Share on other sites

Guest giankap
The Messagedatabase from the Standard 1.5 Android Build looks a little bit different than the Hero one.

I try to add support for this kind of Database on afternoon.

Hallo patzek,

with the new version of your software I can now see messages from my Magic in data grid :D

When i try to write to the db, i get this message:

Cannot perform '=' operation on System.String and System.Int32

any idea?

thank you

Link to comment
Share on other sites

Guest patzek
Hallo patzek,

with the new version of your software I can now see messages from my Magic in data grid :D

When i try to write to the db, i get this message:

Cannot perform '=' operation on System.String and System.Int32

any idea?

thank you

I've added some more Debug Informations to the new build. Maybe you can post the errormessage here.

Link to comment
Share on other sites

Guest SKORPiO1975
The Messagedatabase from the Standard 1.5 Android Build looks a little bit different than the Hero one.

I try to add support for this kind of Database on afternoon.

WOW patzek, I must admit :D you kick some serious a** ;) everything transferred fine and no errors. so your program works with G1 now :angry:

Although I have another lame question. Is it possible to merge transferred database into one thread?

What I have is my SMSes going back and forth with one person on my xml file. Android creates those threads between You and another person. When I transferred the .db it created "My" thread based on my phone number where only my SMSes are, and added other person's SMSes to existing thread that i had in my android phone. Now I have 2 threads, one "Me" with only my SMSes and "Other Person" thread which was merged. I was looking for a way to move "My" SMSes to another thread, but I don't think it is possible. Are there any managing tools for SMS database in android?

Thanks again for your time. You really have quick solutions for everything here ;)

Regards, Bart.

ps: what does "Messagetype" column do in your program?

Edited by SKORPiO1975
Link to comment
Share on other sites

  • 2 weeks later...
WOW patzek, I must admit :D you kick some serious a** ;) everything transferred fine and no errors. so your program works with G1 now :angry:

Although I have another lame question. Is it possible to merge transferred database into one thread?

What I have is my SMSes going back and forth with one person on my xml file. Android creates those threads between You and another person. When I transferred the .db it created "My" thread based on my phone number where only my SMSes are, and added other person's SMSes to existing thread that i had in my android phone. Now I have 2 threads, one "Me" with only my SMSes and "Other Person" thread which was merged. I was looking for a way to move "My" SMSes to another thread, but I don't think it is possible. Are there any managing tools for SMS database in android?

Thanks again for your time. You really have quick solutions for everything here ;)

Regards, Bart.

ps: what does "Messagetype" column do in your program?

Normaly my SMSImporter also link SMS Messages together like Android does this. I check this by comparing the Phonenumber from Sender/Receiver with the existing ones and when i find the right one then the message get attached to the existinig thread. The only reason that i can think what happens on your side that all of your Messages get an own thread is that the Numbers in your Messages are looking other then the Numbers in the Messages of the other Person (Country Code maybe??? )

Messagetype = 1 = Received Message

Messagetype = 2 = Sended Message

Edited by patzek
Link to comment
Share on other sites

Guest RemoteSojourner

Hi,

Based on your solution and couple of other softwares I finally managed to import over 900 sms from my Nokia N95 and I think this will work with all other Nokia phone. I will post the full details of how I did it soon. Thanks for your amazing program :D

Link to comment
Share on other sites

Guest giankap
New Release. Try it with this one.

Now it's working!!

i successed to write mmssms.db.

i'm uploding the db to the phone and see the result.

many thanks, and excuse me for the private message, i did not see your last post...

Link to comment
Share on other sites

Guest giankap
Now it's working!!

i successed to write mmssms.db.

i'm uploding the db to the phone and see the result.

many thanks, and excuse me for the private message, i did not see your last post...

excuse me,

is there any body who have some suggestion for deleting duplicate items in the sms xml file exported from windows? Opening the xml with excel, an working with access, I manged to obtain an excel file in which I do not have duplicates, but i can't export this file back in an xml format.

can anybody help me?

thank you

Link to comment
Share on other sites

excuse me,

is there any body who have some suggestion for deleting duplicate items in the sms xml file exported from windows? Opening the xml with excel, an working with access, I manged to obtain an excel file in which I do not have duplicates, but i can't export this file back in an xml format.

can anybody help me?

thank you

you can edit, delete or insert sms messages with my smsimporter. when you read in the xml file you can full edit all sms messages. Sorting is also possible by clicking on the columnheaders...

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.