Skip to content

Android Stuff

Apps and Tips for Android…

Some users have reported getting errors when doing a Restore with SMS Backup & Restore. The logs suggest the Antivirus App interefering with the Restore. Uninstalling/Disabling the Antivirus app fixes the Restore problem.

If you are getting an error then I will need to have a look at the logs to figure out and then either make a fix in the app or suggest if there is something wrong on the phone. To send me the logs, please follow these steps:

- Install the app “Log Collector“. Its available for free from the Android Market.

- Enable the Logging in the app that you are getting error in (Menu->Preferences -> Enable Logging)

- Try the Backup or Restore operation that is giving you the error.

- Once the error has been reported, open the Log Collector app, it’ll ask you how to send the log, select the Email or GMail option as per your configuration and send the log by email to my email address: android AT riteshsahu DOT com

- Also send a note on what were you trying, so I know what to look for.

- Once I’ve received the logs I’ll analyze them and get back to you.

Note: Make sure you’ve enabled logging in the App before you retry the backup or restore operation and also to send the logs as soon as you get the error, otherwise the logs would not contain the information needed.

Jan Grewe has created a web based application to convert SMS Messages from iPhone so that they can be transferred into any Android phone using the SMS Backup & Restore app. The page has instructions to find the SMS database created by iTunes and then upload it for conversion. The web application generates an XML file which can then be copied to the SD Card of the Android phone and restored using SMS Backup & Restore.

If you don’t want to upload your messages to a remote site then Dr. Bil Kirmani, one of the users of SMS Backup & Restore, came up with a manual process of doing the conversion on a Mac. In his words:

———————————————————-

I’m not suggesting that this is the easiest or the most efficient way to transfer all your old text messages from your iPhone to your new android phone, but it was “free” (apart from the donationware) and required no “programming” (if you don’t count excel functions).

I’ve broken it down step by step as much as possible, but this is not for the faint hearted. Maybe somebody clever could amalgamate all these steps into a script or something, but I’m just a tinkerer, not a programmer, so that’s me out. Good luck and Godspeed….

***

Create a backup of your iPhone SMSes

  • Sync your iPhone

Download the necessary software

Find and extract your old SMSes

  • Go to the folder User>Library>Application Support>Mobile Sync>Backup>[Some ID] (there may be more than one folder in the Backup Folder, but probably just one with the following file in)
  • Find the file 3d0d7e5fb2ce288813306e4d4636395e047a3d28 with the extension .mdbackup or .mddata and copy it to the desktop
  • Load the file in the SQLite browser
  • Select File>Export>Table as CSV file and choose the “message” table

Amend the file into SMS Backup format

  • Load the file into Excel (I know Excel isn’t free, but seriously, if you’re doing all this and you don’t have a spreadsheet program, you should probably stop now)
  • You should have the following headings:
     ROWID; address; date; text; flags; replace; svc_center; group_id; association_id; height; UIFlags; version; subject; country; headers; recipients; read
  • Create an extra column to the right of “date”. Make sure the original date column is in “Text” format (not “number” format) by right clicking the column and choosing >Format cells>Number>Text. Now copy the formula =C2&”000″ in the column to the right. This changes the date to the correct format for android (Epoch including milliseconds).
  • Create six columns to the right of the “text” column. iPhone stores certain characters that confuse the XML parser (ampersands, quotes, apostrophes, greater than signs and line breaks etc). Make sure the format of the column with the body of the SMS in is “text” format (otherwise it misses characters and makes you unhappy). In each of the successive columns, use the formulae:
    • =SUBSTITUTE(E2,CHAR(38),CHAR(38)&"amp;")
    • =SUBSTITUTE(F2,CHAR(60),CHAR(38)&"lt;")
    • =SUBSTITUTE(G2,CHAR(62),CHAR(38)&"gt;")
    • =SUBSTITUTE(H2,CHAR(34),CHAR(38)&"quot;")
    • =SUBSTITUTE(I2,CHAR(39),CHAR(38)&"apos;")
    • =SUBSTITUTE(J2,CHAR(13),CHAR(38)&"#13;")
    • Create an extra column to the right of “flags”. This column will tell your device if the text is received or sent. The iPhone uses received as “2” and sent as “3”, but these need to be “1” and “2” respectively for Android. Use =L2-1 to change this down the column.
    • In a new column, use the following formula:
    • ="  <sms protocol="&CHAR(34)&”0”&CHAR(34)&" address="&CHAR(34)&B2&CHAR(34)&" date="&CHAR(34)&D2&CHAR(34)&" subject="&CHAR(34)&”null”&CHAR(34)&" body="&CHAR(34)&K2&CHAR(34)&" toa="&CHAR(34)&”null”&CHAR(34)&" sc_toa="&CHAR(34)&”null”&CHAR(34)&" service_center="&CHAR(34)&”null”&CHAR(34)&" read="&CHAR(34)&”1”&CHAR(34)&" status="&CHAR(34)&”-1”&CHAR(34)&" />"

Create the SMS Backup and Restore File

  • Ensure you have at least one text in your Android Phone (either sent or received)
  • Do a Backup
  • Connect your phone to the computer and download the file saved by SMS Backup
  • Using the XML editor, add the text created in the last column of your excel document to the XML file source. It should look something like:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<smses>
<sms protocol="0" address="NHS" date="1272018455000" subject="null" body="Medical Student Teaching Reminder" toa="208" sc_toa="0" service_center="+447782000800" read="1" status="-1" /><sms protocol=”…” etc />
</smses>
  • Rename the file (just in case!) with an extra digit at the end and load this file back onto your SD card in the SMSBackupRestore Folder.
  • Do a restore.
  • Make donations to the makers of your free software and ensure that you’ve got SMS Backup and Restore to do regular backups. Also, consider downloading SMS Backup by Christoph Studer to convert all your SMSes to gmail messages.

——————————————–

Thanks to Bil for those instructions.

Here are some of the Frequently Asked Questions and their answers about my Android App SMS Backup & Restore.

Q 1: What does this app do?
A: Primarily, it backs up SMS Messages on an Android phone so that they can be restored later. It can also restore messages which have been backed up earlier. Optionally, it can also delete all the messages on the phone.

Q 2: Does it backup MMS (Picture/Music/Video) Messages?
A: Currently it does not backup MMS Messages.

Q 3: Where is the backup stored?
A: The backup is stored in the SMSBackupRestore folder of the SD Card (/sdcard/SMSBackupRestore).

Q 4: What type of file is created for the backup?
A: The backup is stored in XML format so that it can be easily read and modified, as well as making it easy to convert to and from other phone formats.

Q 5: Can it make backups automatically (scheduled backups) ?
A: Yes, it has an option to enable Scheduled Backups which makes it automatically backup the SMS Messages every day at a specified time. More options for controlling the schedule will be added in a future release.

Q 6: How do I access the backup files?
A: To access the backup files on the phone itself, you need a file manager app like ASTRO File Manager or EStrongs File Explorer. To access the files on a computer, you can either Email them using the “Send File” menu option or by mounting the SD Card to a computer and then browsing to the SMSBackupRestore folder.

Q 7: I cannot understand the data in the backup file, how do I see it an easy to understand format?
A: Check “How to view or edit SMS and Call Logs backup file on a computer” and “Extract conversation with a contact from the backup file“. You can also use the View Messages feature of the app to see the messages in the backup files.

Q 8: Can I use this App to transfer messages from my old phone?
A: Yes. The backup format is a simple XML format and is independent of the Android version on the phone, so it can be easily used to transfer messages from one Android phone to another. It has been tested with Android version 1.5 thru 2.2.

To transfer your messages from your old phone, make sure you’ve created a backup on the old phone, then remove the SD Card from the old phone and insert it in the new phone. After this, install the app on the new phone and then Restore.

It can also be used to transfer messages from Nokia, Windows Mobile and Sony Ericsson phones. Check out the following links for more information:


Q 9: I am getting an error like “No write access to file:/sdcard/smsbackuprestore/(nameoffile).xml” during backup. Whats going on?

A: The app is not able to create the backup file for some reason. Make sure the sdcard is available to the phone when doing the backup (not mounted on a computer, for example). If you still get the error then there might be some problem with the sdcard itself or it may be full.

Q 10: I tried the Restore but only got some of my messages back, Why?
A: There are a few things which can cause this:

  • Some of the messages were MMS and they did not get backed up and hence cannot be restored with this app.
  • The Restore process did not finish completely and hence not all the messages were restored. Try the Restore again and see if you get more messages this time. When the Restore completes, it shows the number of messages it restored.
  • Newer versions of Android have a setting for specifying how many messages they will store (defaults to 200) per conversation and any message older than that gets deleted automatically. If you have lots of messages then make sure the setting is either disabled or has a higher number set.
  • Not all the messages were backed up. You can open the contents of the backup file and see if it has all the messages in it. Check “How to view or edit SMS and Call Logs backup file on a computer“.

Q 11: Why is the Scheduled Backup not making any backups for me?
A: When the Scheduled Backups are enabled, the app displays a notification after each backup with the information about how many messages were backed up etc. If you are not getting this notification then the scheduled backups are not working. Here are some of the things that can cause this:

  • Whenever an app is updated, Android removes all its scheduled events and the schedules can only be set again by the app when its opened. So every time you update the app, make sure you open it at least once after the update other wise the schedules wont get enabled.
  • Some other”Task Manager” or “Task Killer” app is killing this app thus making the backup impossible. This is especially a problem if the other app is set to “Auto Cancel” or “Auto Kill” every hour or so. If this is the case make sure “SMS Backup & Restore” is excluded from the apps which are auto killed.

Q 12: This App has deleted all my messages!!! ?
A: Although the app has an option to delete all the messages on the phone, the only time it does that is when someone presses that button and then confirms the warning that it will delete the messages. If you have not done that then the deletion of messages is not because of this app. Also, it is a known problem with some Android phones.

Q 13: Why does it need so many permissions?
A: Here’s the list of permissions needed and some explanation:

  • Storage – modify/delete SD card contents (android.permission.WRITE_EXTERNAL_STORAGE): To create the xml file on the SD card.
  • Your messages – edit SMS or MMS, read SMS or MMS (android.permission.READ_SMS, android.permission.WRITE_SMS): Needed to read SMS during backups and write them during restore.
  • Your personal information – read contact data (android.permission.READ_CONTACTS): For exporting the contact names in the backup as well as for displaying the contact names when viewing messages.
  • Network communication – full Internet access (android.permission.INTERNET): For displaying Ads.
  • System tools – prevent phone from sleeping (android.permission.WAKE_LOCK): To prevent the phone from going to sleep/suspended state while a backup or restore operation is in progress.
  • Hardware controls – control vibrator (android.permission.VIBRATE): To vibrate the phone when the backup or restore operation is completed.

Q 14: What is that number is the date field in the backup file?
A: The date is backed up in the same format as its stored on the phone. Its the Java date representation (including millisecond) of the time when the message was sent/received in UTC. Check out www.epochconverter.com for information on how to do the conversion from other languages to Java.

Q 15: I am getting an error when trying to Backup or Restore, how to get it working?
A: Have a look at the Error Reporting instructions.

Q 16: Why is the app starting when I restart/reboot the phone? I can see it in the Task Manager app.
A: The app has the option to automatically create backups on a schedule. For it to be able to create the schedule, it needs to check and apply the settings every time the phone restarts. This is the way Android works and this app is not going to slow your phone down by constantly running in the background.

Q17: Where can I get an Ad Free version of SMS Backup & Restore?
A: Since SMS Backup & Restore is a free app, Ads are one of the ways I can get some monitory rewards from it (the other being donations via PayPal). This is the reason that there is no Ad Free version of the App. However, if you do not want to see the ads or do not want this app to use internet data then there is an option in the preferences of the app which lets you permanently disable the ads. Just click on Menu -> Preferences and check the “Do Not Show Ads” check box. Once you restart the app, you’ll find the ads have disappeared.

Q18: I restored my SMS Messages and now they appear in the wrong order in Handcent SMS and some of my existing messages are duplicated. Why?
A: Handcent appears to display messages in the order they are added instead of the date of the message so if you restore messages after you’ve got existing messages in Handcent, they may appear in the wrong order. Although SMS Backup & Restore gives you the option to check for duplicates during restore, sometimes it may not work properly or Handcent may misunderstand the update of an existing message as a new message and hence display a duplicate. The only work around I know of this problem is to create a new backup and then delete all the messages from Handcent as well as using SMS Backup & Restore’s delete feature. A restore after this should result in the correct ordering of messages as well as clearing up of duplicates.

Google has recently updated its Maps App for Android to 4.1.1. Normally the update process in the market is straight forward, but some times it can get tricky, specially if you are using a custom ROM as most of the ROMs come with the Maps App pre-installed and that can make it difficult to update them.

When trying to update to the new version, if your Android phone crashes or restarts then you need to uninstall the previous version of the App first and then install the new version. To uninstall the previous version, run this command from the computer:

adb uninstall com.google.android.apps.maps

After this install the new version from the Android Market.

Travellinman has written a Windows Application to extract conversation with a contact into a easy to read text file. I am hosting it here on my blog so that it can be easily accessed by anyone interested.

Updated version 0.2 can be downloaded by clicking here.

Switch to our mobile site