Obtainium zeigt nicht die richtige Version an #7

Closed
opened 2026-09-19 21:19:28 +00:00 by dennis · 1 comment
Owner

Beschreibung

In Obtainium wird nicht die richtige Version der App angezeigt.

Mögliche Ursachen

  • versionName/versionCode im APK stimmen nicht mit dem Release-Tag überein
  • Release-Tag-Namensschema wird von Obtainium nicht korrekt geparst (z. B. fehlendes 'v'-Präfix oder zusätzlicher Text im Tag)
  • APK wird nicht als Release-Asset erkannt (Dateinamen-Konvention)
  • Selbstsignierte/unterschiedlich signierte APKs führen dazu, dass Obtainium die installierte Version nicht zuordnen kann

Erwartetes Verhalten

Obtainium zeigt dieselbe Version an, die dem neuesten Release-Tag bzw. der installierten APK entspricht.

Hinweise

Hängt mit #2 zusammen (Repo auf public stellen, Obtainium ohne Auth-Header).

## Beschreibung In Obtainium wird nicht die richtige Version der App angezeigt. ## Mögliche Ursachen - versionName/versionCode im APK stimmen nicht mit dem Release-Tag überein - Release-Tag-Namensschema wird von Obtainium nicht korrekt geparst (z. B. fehlendes 'v'-Präfix oder zusätzlicher Text im Tag) - APK wird nicht als Release-Asset erkannt (Dateinamen-Konvention) - Selbstsignierte/unterschiedlich signierte APKs führen dazu, dass Obtainium die installierte Version nicht zuordnen kann ## Erwartetes Verhalten Obtainium zeigt dieselbe Version an, die dem neuesten Release-Tag bzw. der installierten APK entspricht. ## Hinweise Hängt mit #2 zusammen (Repo auf public stellen, Obtainium ohne Auth-Header).
Author
Owner

Diagnose (Debug-Session 20.9.)

Was ich geprüft habe:

  1. APK selbst ist korrekt: stable-APK (FoodBridge.apk) analysiert — versionName=0.2.0, versionCode=20000 (MAJ1M + MIN10k + PATCH*100). Kein Hash, alles korrekt eingebettet.

  2. API ist korrekt: Releases-Endpoint liefert saubere Tags (stable, v0.2.0, v0.2.0-dev.1, v0.1.0), repo ist public.

  3. Ursache gefunden (Obtainium-Quellcode): Obtainium nimmt als anzuzeigende Version standardmäßig den Release-Tag-Namen (github.dart, _selectGitHubTargetRelease: targetRelease['version'] = tag_name ?? name). Es gibt nur zwei Ausnahmen:

    • Option 'Release Title as Version' aktiv → dann wird der Release-Titel verwendet
    • Option 'Version Extraction RegEx' gesetzt → dann wird daraus extrahiert

Die 'scheinbar randomisierte Zahl' ist mit hoher Wahrscheinlichkeit der Tag stable geparst als Versionsstring ODER das Ergebnis der Pseudo-Versionierung aus einem falschen Source-Typ (HTML/Direct APK Link nutzt partiellen APK-Hash oder ETag als Version — das sieht exakt nach einer randomisierten Zahl aus!).

Lösung (eine der drei):

a) In Obtainium die App mit Override-Source 'Forgejo (Codeberg)' anlegen und in den App-Einstellungen:

  • 'Version Extraction RegEx' auf v([0-9.]+) setzen (Match Group 1) — zeigt dann 0.2.0
  • oder 'Release Title as Version' aktivieren (Titel 'Stable (FoodBridge 0.2.0)' → enthält Version)

b) Alternative: App direkt auf das Versions-Release zeigen lassen und ein Release-Filter-RegEx ^FoodBridge setzen, damit das stable-Rolling-Release ignoriert wird

c) Pipeline-seitig: versionCode als Version anzeigen lassen ist in Obtainium nicht vorgesehen — Tag-basiert bleibt.

Empfehlung: Option a) mit Version-Extraction-RegEx.

**Diagnose (Debug-Session 20.9.)** Was ich geprüft habe: 1. **APK selbst ist korrekt:** stable-APK (FoodBridge.apk) analysiert — versionName=`0.2.0`, versionCode=`20000` (MAJ*1M + MIN*10k + PATCH*100). Kein Hash, alles korrekt eingebettet. 2. **API ist korrekt:** Releases-Endpoint liefert saubere Tags (stable, v0.2.0, v0.2.0-dev.1, v0.1.0), repo ist public. 3. **Ursache gefunden (Obtainium-Quellcode):** Obtainium nimmt als anzuzeigende Version standardmäßig den **Release-Tag-Namen** (github.dart, _selectGitHubTargetRelease: `targetRelease['version'] = tag_name ?? name`). Es gibt nur zwei Ausnahmen: - Option **'Release Title as Version'** aktiv → dann wird der Release-Titel verwendet - Option **'Version Extraction RegEx'** gesetzt → dann wird daraus extrahiert **Die 'scheinbar randomisierte Zahl' ist mit hoher Wahrscheinlichkeit der Tag `stable` geparst als Versionsstring ODER das Ergebnis der Pseudo-Versionierung aus einem falschen Source-Typ (HTML/Direct APK Link nutzt partiellen APK-Hash oder ETag als Version — das sieht exakt nach einer randomisierten Zahl aus!).** **Lösung (eine der drei):** a) In Obtainium die App mit Override-Source **'Forgejo (Codeberg)'** anlegen und in den App-Einstellungen: - 'Version Extraction RegEx' auf `v([0-9.]+)` setzen (Match Group 1) — zeigt dann 0.2.0 - oder 'Release Title as Version' aktivieren (Titel 'Stable (FoodBridge 0.2.0)' → enthält Version) b) Alternative: App direkt auf das Versions-Release zeigen lassen und ein Release-Filter-RegEx `^FoodBridge` setzen, damit das stable-Rolling-Release ignoriert wird c) Pipeline-seitig: versionCode als Version anzeigen lassen ist in Obtainium nicht vorgesehen — Tag-basiert bleibt. **Empfehlung:** Option a) mit Version-Extraction-RegEx.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
dennis/foodbridge-app#7
No description provided.