Outcome: The exception is not visible in the Owncloud web client, the event is still there. The event is still listed in Lightning with a strike-through effect:
Expected result: The event should not be visible on the date the exception was made for, neither in Owncloud nor Lightning.
This is a behaviour of your calendar app. It doesn’t set an EXDATE (meaning that on this day, there’s no recurrence) but overrides the specific occurence of this day by “STATUS:CANCELLED” which is then shown as strike-through in Lightning.
DAVdroid has no influence on this, see also: https://twitter.com/davdroidapp/status/527057795980754945
Procedure: Create and sync an event exception using Lightning.
Outcome: The exception is reflected in the Owncloud web client (the event is gone on that date). On Android+DAVdroid, the event is still present on the date the exception was made for and does not show any kind of alteration.
Expected result: The event should not be visible on the date the exception was made for, neither in Owncloud (matches the Outcome above), nor Android (where DAVdroid seems to fail integrating the exception properly).
It seems that EXDATEs with UTC time zone (yyyymmddThhmmssZ) were inserted as local time into the calendar store, which expects either an explizit time zone or UTC with …Z. This has been fixed now.
The solution was to re-execute the git clone --recurse-submodules https://gitlab.com/bitfireAT/davx5-ose.git with a stable internet connection. Inspection of the command in a re-try showed it had not completed successfully.
Retrying the command until it completed successfully was sufficient for Android Studio to build the project. I apologize for this sloppiness.