I am currently experimenting with automating app updates.
Through Android
This is not an option as android sucks. Even F-Droid Basic cant do full autoupdates for many apps, as they are not on the supported new SDKs
Externally from F-Droid
This is way less secure than using the F-Droid store itself poorly, as there is no verification.
But in theory you could take the release APKs from the F-Droid website, download and install them. A link looks like this:
https://f-droid.org/repo/com.simplemobiletools.calendar.pro_240.apk
The problem is the naming, which is a pretty random xxx digit and sometimes the date, so you would have to check 999 possible links only to find out that there is no update? Currently I know no better option, maybe using the F-Droid API like all the Android stores do would work well.
From Github releases
This is easier, because https://github.com/creator/app/releases/latest
is an alias to the latest tag. Somehow it is possible to get the tag URL there, and an example Download link looks like this
https://github.com/tw-hx/Signal-Android/releases/download/v6.35.3.0-FOSS/Signal-Android-play-foss-prod-universal-release-signed-6.35.3.apk
This is possible, a kind AI gave me this code:
#!/bin/bash
# GitHub repository and release URL
repo_url=""
release_url="$repo_url/releases/latest"
# Extract the latest release tag
latest_tag=$(curl -sI -o /dev/null -w '%{url_effective}' "$release_url" | awk -F"/" '{print $NF}')
# Construct the download link
download_url="$repo_url/releases/download/$latest_tag/APPNAME-$latest_tag.apk"
# Define the folder name
folder_name="APP-Updates-$(date '+%d-%m-%Y')"
# Create the folder
mkdir -p "$folder_name"
# Download the latest APK
wget -nv -P "$folder_name" "$download_url"
# Display success message
echo "Downloaded App APK: APPNAME-$latest_tag.apk"
# Install the app using waydroid
waydroid app install "$folder_name/APPNAME-$latest_tag.apk"
# Remove the installed APK
rm -f "$folder_name/APPNAME-$latest_tag.apk"
# Clean up: Remove the folder
rm -rf "$folder_name"
# Display completion message
echo "Updates completed."
This is not checked yet.
What would your solution look like? I guess using Github and FDroid APIs would be best