_____ _               _               _____ ____  
 / ____| |             | |             | ____|___ \ 
| (___ | |__   __ _  __| | _____      _| |__   __) |
 \___ \| '_ \ / _` |/ _` |/ _ \ \ /\ / /___ \ |__ < 
 ____) | | | | (_| | (_| | (_) \ V  V / ___) |___) |
|_____/|_| |_|\__,_|\__,_|\___/ \_/\_/ |____/|____/ 

Step 3: Contacts and Calendar Sync

When it comes to setting up contacts and calendar sync on your No GApps device, there are a few different ways you can go about it. Here are the methods I have found.

Option 3.1: Syncing with Google

This option most likely applies to those who are looking to go No GApps for the sake of improving battery life, as those looking to get away from using Google services will more likely want to go with Option 3.2: Syncing with another DAV provider.

Option 3.1.1: Using the Google sync adapters (microG)

The way that the official Google apps synchronize contacts and calendars are via the sync adapters, which are separate apps from the Play Services and require an implementation of the Play Services to be installed.

The first step is to acquire the `GoogleContactsSyncAdapter.apk` and `GoogleCalendarSyncAdapter.apk` files. Perhaps the easiest way to do this is to go to the OpenGapps website and download the "pico" variant for your Android version and device architecture. I recommend the pico variant because it contains the fewest apps and has the adapters we are looking for.

OpenGapps

Open the zip file you downloaded and extract these two files (paths relative to the root of the archive):

If you are running Windows or possibly Mac, you will need the program 7-Zip to open these two tar.lz archives. Linux users should already have support for these files in their archive manager. If not, make sure you have the *p7zip* package installed.

7-Zip website

Inside of these archives, a few folders down, are two .apk files. Both of these should be installed on your Android system under the /system/app directory, each in their own subdirectory. Something like this:

As an alternative method of installing, there is a zip on the downloads page that installs them for you.

Option 3.1.2: Using DAVDroid

For those who do not wish to install Google programs on their device yet want to continue synchronizing their contacts with Google, there is a way of using the open source app DAVDroid to synchronize your contacts with Google using a special URL.

DAVDroid on the F-Droid store

Note: Google has the CardDAV service set up to use OAuth2, which does not support the username/password method of authenticating that DAVDroid uses. This URL is noted to possibly change in the future and should not be depended on for long-term synchronization.

Open DAVDroid and go to the page for adding a new service to sync with. Select the "Login with URL and user name" option. Enter this URL as the base URL, replacing `your_email@gmail.com` with your actual email:

Default contacts list:

https://www.googleapis.com/carddav/v1/principals/your_email@gmail.com/lists/default

Primary calendar (From Riccardo Boninsegna on Telegram):

https://www.google.com/calendar/dav/your_email@gmail.com/events

Enter your full email address (`your_email@gmail.com`, not just `your_email`) into the username field and your password into the password field. You may need to use an app password or enable "less secure" logins (read: not OAuth2).

App password Less secure login

Tap "Login". The app may take a moment to make sure it is connecting correctly, then it will take you to the next page. Set a name for your account and tap "Create Account".

Tap the radio button next to the contacts list and tap the synchronize button to make sure your contacts get synchronized.

Option 3.2: Syncing with another DAV provider

Some other services offer contacts and calendar synchronization, though many will cost money. DAVdroid provides a list of services that are known to work with it (may have to scroll down a little). This is not an exhaustive list, and other services will also work with DAVDroid - if you are curious if one you use is compatible, try searching "*service name* CardDAV sync."

Services known to work with DAVDroid