Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
4.3 KiB
Installing Meshtastic Test Builds with Obtainium
Obtainium installs and auto-updates Android apps straight from their GitHub releases — no Play Store account, no testing-track invite. This guide sets it up for Meshtastic and shows how to follow the open beta or closed beta channels.
Heads up — signatures. Builds from GitHub are signed with the project's release key, not Google Play's. If you already have Meshtastic installed from the Play Store, Android will refuse to update over it. You must uninstall the Play Store version first (this clears app data), then install via Obtainium and stay on Obtainium for updates. The fdroid and google flavors also differ in signature — pick one and don't switch.
Which channels can Obtainium reach?
Meshtastic for Android promotes builds up a ladder:
closed → open → production. Each maps to a Google Play track, and the GitHub
release is published (un-drafted) when a build is promoted to closed or higher.
| Channel | Play track | On GitHub | Obtainium can install it? |
|---|---|---|---|
| stable | Production | published, marked Latest | ✅ Yes |
| open beta | Beta (Open) | published prerelease, tag vX.Y.Z-open.N |
✅ Yes |
| closed beta | Alpha (Closed) | published prerelease, tag vX.Y.Z-closed.N |
✅ Yes |
Only one test build is "live" on GitHub at a time: as a build is promoted,
its release object moves forward (its tag changes from -closed.N to -open.N
to the clean production tag). So a -closed/-open build is installable only
while it is currently parked in that channel — once promoted onward, the old
channel tag no longer has a release.
Setup
- Install Obtainium (GitHub releases or F-Droid / IzzyOnDroid).
- Tap Add App.
- App Source URL:
https://github.com/meshtastic/Meshtastic-Android - Set the options for the channel you want (below).
- Tap Add, then Install.
Stable
- Include prereleases: off
- (optional, stricter) Verify the 'latest' tag: on
- Filter APKs by regular expression: see Picking the APK
Open beta
- Include prereleases: on
- Filter release titles by regular expression:
-open\. - Filter APKs by regular expression: see Picking the APK
Closed beta
- Include prereleases: on
- Filter release titles by regular expression:
-closed\. - Filter APKs by regular expression: see Picking the APK
Bleeding edge (newest test build, any channel)
- Include prereleases: on
- (no release-title filter)
- Filter APKs by regular expression: see Picking the APK
Obtainium installs the newest published prerelease — whatever is currently in open or closed.
If your channel filter finds nothing: when no build is parked in that exact channel, the title filter matches no current release (old channel tags are orphaned once promoted). For a strict channel pin, turn Fallback to older releases off. To always have something to install, use the Bleeding edge form above instead.
Picking the APK
Each release attaches the google flavor APK, several fdroid flavor APKs,
plus an .aab (not installable) and the desktop installers. Pin exactly one
with Filter APKs by regular expression:
| You want | Regex |
|---|---|
| Recommended for testing — Google flavor | google-release\.apk |
| fdroid flavor, most phones (arm64) | fdroid-arm64-v8a-release\.apk |
| fdroid flavor, one-size-fits-all | fdroid-universal-release\.apk |
Use the Google flavor while testing. It ships Firebase Crashlytics and Datadog RUM, so the crashes and errors you hit get reported back to the team — which is the whole point of a test phase. It also has Google push (FCM) and Google Maps. Pick an fdroid flavor only if you'd rather not send that telemetry. Keep the same flavor on every update — switching flavors triggers the signature-mismatch refusal described above.
Notes
- Track without installing: turn on Track-only to get update notifications without Obtainium downloading anything.