Share your knowledge at the LQ Wiki.
Go Back > Blogs > jere21
User Name


Rate this Entry

Sync calendar and contacts (ownCloud): Clients on the Android (CyanogenMod) mobile (Part 4)

Posted 07-14-2015 at 08:13 AM by jere21
Updated 07-14-2015 at 09:08 AM by jere21

This is the 4th of a series of blog posts with a complete guide to sync calendar and contacts between Debian Jessie laptop (as server and client) and Android (CyanogenMod) mobile:
  1. General
  2. Setup CalDAV/CardDAV server (on my laptop):
    ownCloud, Apache, self-signed certificate
  3. Setup calendar and contacts in Icedove (rebranded Thunderbird) and Iceowl (rebranded Lightning):
    export, transform and backup the data with a script (owncloud.export), SOGo connector, ThunderSync, print to paper
  4. Setup calendar and contacts on the Android (CyanogenMod) mobile:
    F-Droid market, import certificate, DAVdroid
  5. Alternative Servers (NOT USED, NOT COMPLETE):
    Radicale, Calypso

Sorry for the German notes from my mobile, but I prefer to give exactly what I read, instead of a maybe correct translation.

  1. F-Droid

    If not already done, tick "Einstellungen - Sicherheit - Unbekannte Herkunft (Installation von Apps aus unbekannten Quellen zulassen)".

    The apps that I use are available in the FOSS market F-Droid. Finally I'm starting to move away from Google Play! :-)
    To start using F-Droid, just scan the QR Code on the website and follow the installation process.

  2. Import your self-signed certificate

    Install CAdroid with F-Droid (CAdroid 1.0.3).
    Start it and enter https://hostname.domainname:443 ( to get the certificate. Follow the instructions to import that certificate. You might have to add a screen lock PIN if you don't use one already.

  3. Tasks

    Install Tasks with F-Froid (Tasks 1.1.6). Be careful, there is another app with the same name.

    Tasks has to be installed before DAVdroid!

  4. CalDAV/CardDAV synchronisation adapter: DAVdroid

    DAVdroid is a CalDAV/CardDAV synchronisation adapter for Android 4+ devices. It integrates natively in Android calendar/contact apps. DAVdroid synchronizes the events between the CalDAV server (in iCalendar format) and the Android Calendar Provider, which is then responsible for processing them internally.

    1. Install DAVdroid with F-Droid (DAVdroid 0.8.0).
    2. Set up a new account for the calendar in DAVdroid:

      1. Start DAVdroid
      2. Add an account (left icon in the top right)
      3. Mit URL und Benutzername anmelden
      4. URL:
        • Benutzername: jens
        • Passwort: *****
        • Keep "Präemptive Authentifizierung" ticked
      5. Choose all calendar and tasks that you are offered:
        • Personal
        • Geburtstage
        • Contact birthdays (schreibgeschützt/read-only)
        • Personal
        • Geburtstage
      6. Name: "" (Use your e-mail address because the name will be used as "Organizer".)

    3. Configure the ownCloud calendars:

      Einstellungen - Konten: DAVdroid - Einstellungen -
      Keep ticked: Präemptive Authentifizierung (empfohlen, aber nicht kompatibel mit Digest-Auth.)
      Häufigkeit der Kalender-Synchronisierung: Alle 15 Minuten (= Alle 15 Minuten + sofort bei lokalen Änderungen)
      Häufigkeit der Aufgaben-Synchronisierung: Alle 15 Minuten (= Alle 15 Minuten + sofort bei lokalen Änderungen)

    4. Disable local Contact's birthdays in aCalendar:

      Do this if you chose to sync the read-only ownCloud contacts. Although aCalendar seems to notice duplicates caused otherwise, it seems to overshoot the target: I had a contact's birthday and a calendar entry for another's person with the same name and birthday (but in another year) -> only the contact's birthday was displayed.

      aCalendar - Android's menu/option/setup button (whatever it is called) - Kalenderliste
      Untick "ACALENDAR Geburtstage"
      Keep ticked:
      MEINE KALENDER "Geburtstage" and "Personal"
      WEITERE KALENDER "Contact birthdays"

    5. Set up another account for the contacts in DAVdroid:

      • Start DAVdroid.
      • Add an account (left icon in the top right).
      • Mit URL und Benutzername anmelden
      • URL:
        • Benutzername: jens
        • Passwort: *****
        • Keep "Präemptive Authentifizierung" ticked.
      • Mark your addressbook.
      • Name: "ownCloud contacts"

    6. Configure the ownCloud Contacts:

      Einstellungen - Konten: DAVdroid - Einstellungen - ownCloud contacts
      • Keep ticked: Präemptive Authentifizierung (empfohlen, aber nicht kompatibel mit Digest-Auth.)
      • Häufigkeit der Synchronisierung: Stündlich (= Alle 60 Minuten + sofort bei lokalen Änderungen)
      • Unsure, but I have not ticked this: VCard 4.0-Unterstützung (Kontakte werden als VCard 3.0 gesendet)

    7. Final Android/CyanogenMod configuration:

      • Remove the Google account completely, or at least disable syncing calender and contacts
        Einstellungen - Konten: Google - Konten:
        Note: I already have a separate "Konten: E-Mail" (instead of "Gmail"), so Google is now not used anymore (the rest, i.e. "App-Daten", "Browser", "Google Fit-Daten", "News & Wetter", "Personendetails" and "Sound Search für Google" aren't useful anyways).
      • Revisit "Einstellungen - Sicherheit - APP-SICHERHEIT: Datenschutz". Make sure that it is not enabled for "Tasks".
        I think that caused some problems here, where Android Tasks did not update a task, which was changed on the laptop, even after syncing in the Task app (which worked according to the last synced timestamp in DAVdroid) or restarting the mobile. Manually Syncing in DAVdroid seemed to work, though.

    8. Messed up?

      You can always just remove any account you added to DAVdroid and then readd it again.
Posted in Uncategorized
Views 3185 Comments 0
« Prev     Main     Next »
Total Comments 0




All times are GMT -5. The time now is 02:42 PM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration