I use an app called “Calendar Notifications” in my Android device to manage Calendar events in a more sophisticated way than possible with the default Calendar. I installed the app from the F-Droid store. For those who are not aware,
F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform.
Once, it happened that I uninstalled the “Calendar Notifications” app to test a weird behaviour that I was observing with another app. I did this with the hope that I could always re-install the app from the F-Droid store. After my testing was complete, I thought of re-installing the app and went to the app’s page only to discover that the three versions (the then latest version being 4.0.16) shown in the app download page were not compatible with the Android version of my device running Android 5.1.1. I was taken aback. I didn’t expect this. 😞
Damage done. We have to repair this. 👨🔧 So, I was searching for a way to get older versions of the app that were not listed in the app page in F-Droid. There wasn’t any direct link to an archive of APKs for the app from the F-Droid page. Given that the app was open source, I could have just downloaded the source and built it 🔨 but I was a little lazy and was searching if I could get the APK directly. The releases page for the app also didn’t have any APK resources which could be directly downloaded. Though the app is in play store, I couldn’t find a version of the app compatible to my device there either.
In the mean time, I installed another app with similar functionality but I was aching to get the one that I was using previously as I found it suiting my needs exactly.
As I’ve spent enough time (⌚) searching for a solution without hopes, I decided to do one final search to find a way to install old versions of an app released in F-Droid. This search led me to a forum discussion about how to install an old version of the F-Droid app itself. There was a link to get the APK of an older version of the F-Droid app. That quickly struck me in the head about how I could get the old version of the “Calendar Notifications” app. 💡 Below I mention the link that was found there for reference:
The ‘archive/’ part of the link suggested to me that the link was to an archive of old versions as the links to the three latest versions of the app listed in the app page begins with https://f-droid.org/repo/.
Also, the number in the end gave me an idea that it was some kind of identifier for each version of the app. I took the link to the then oldest version of the “Calendar Notifications” app from the app page on F-Droid:
I tweaked the URL and started making a trial and error attempt to get the oldest version that supports my device. I started with:
And went back and installed each older version I could get my hands on by decreasing the number in the URL. The number wasn’t sequential. There weren’t versions associated with some numbers such as ‘3000005’. Also, all the versions of the app I got using the trial and error method were not compatible with my device. So, this didn’t work either. I then started thinking about finding which numbers were actually mapped to versions. 🤔 Then an idea struck me. 💡 My knowledge of the existence of the F-Droid data repository helped me. I know the repository contains metadata about all the apps present in F-Droid. So, I thought I would get an idea about the identifier there. I went directly to the metadata for the “Calendar Notifications” app. Tada! 🎉 I could easily see that there was a unique identifier mapped with each version of the app:
Then I used this to quickly get the link to the version I needed (version 3.14.159)! Hooray! 🙌
It was a very interesting experience to explore and discover how to get the archive link to the older version of the app on F-droid. It would have been nice if it were more straight forward. Anyways, that’s the end of the endeavour! 🙂
Note: Newer version of the Calendar Notifications app (version 5.0.3) seems to support Android versions above 4.3.