CalDAV Clients/Calendar Sync for Android

From Davical
< CalDAV Clients
Revision as of 02:37, 22 March 2010 by Karora (talk)
Jump to navigationJump to search

From March 2010 a CalDAV solution for Android has appeared in the Android App store. Find it on a search for 'caldav'. The company has a page at is with some more information.


Calendar Sync for Android will synchronise the calendar on your phone with a remote CalDAV server, including a DAViCal server.


This is a calendar synchronisation program, and as such it needs to be given a calendar URL, which in DAViCal's case will be something of the form:

Where 'calendar' is generally 'home', by default, on DAViCal.

Using Self-signed SSL Certificates

If you use a self-signed SSL certificate on the Android the process of making it work is somewhat convoluted...

According to Brendan Whelan from Hypermatix, the following steps are needed:

  1. First, you need to create a keystore containing the cert of your Certification Authority (albeit your own server).
Bob Lee has an excellent blog post on how to do this. Just follow his steps one and two from
Essentially this involves getting old of the root certificate. I use the root authority myself, and their root is downloadable from their website, but you need to follow part of the above process to convert it to a .bks file.
  1. Rename your file to "CA.bks".
  1. Create a new directory on your phone's SD card at /CalDAVSync/CA/ and drop the CA.bks in there.
  1. Then in CalendarSync, Advanced connection settings, check to enable using the keystore and enter the password you chose for the keystore.

Do a sync and it should work!

One caveat though: the app can't read the keystore while your phone is connected to a PC and in USB hard drive mode, so you'll need disable USB drive mode before sync will work without error.


  • It seems to synchronise my calendar into the local calendar app, just fine, but I don't see it synchronising changes I enter into the Android calendar back into DAViCal.
  • After each synchronisation attempt it reports "Last Synchronized: Never" and "Synchronisation status: java.lang.nullPointException" - maybe this is related to the above!