Skip to content

Instantly share code, notes, and snippets.

@frankkoenigstein
Last active April 5, 2019 08:19
Show Gist options
  • Save frankkoenigstein/cb8ea391feeed659858bebc0897c339d to your computer and use it in GitHub Desktop.
Save frankkoenigstein/cb8ea391feeed659858bebc0897c339d to your computer and use it in GitHub Desktop.
Cordova Android Version Code

Cordova Android Version Code

App Versionierung

Versionierung ist sehr wichtig für Upgrades und Pflege einer App.

  • Benutzer brauchen Informationen über die installierte Version und welche Upgrade-Versionen zur Verfügung stehen
  • Andere Apps brauchen die Version zur Prüfung der Kompatibilität und Abhängigkeiten
  • Dienste, welche die App publizieren, benötigen die Version neben der Darstellung auch, um festzustellen, ob ein Upgrade oder Downgrade möglich ist.

Android App Versions-Informationen

Es gitb zwei Werte für die Version

versionCode

Eine positive Zahl, die als interne Versionsnummer verwendet wird. Diese Zahl wird zur Bestimmung verwendet, ob eine Version der App neuer oder älter ist als eine andere. Android verhindert über diese Zahl ein Downgrade auf eine niedrigere Version. Die Versionsnummer wird dem Benutzer nicht dargestellt.

Typischerweise wird die Version für jedes Release um 1 erhöht. Unabhängig davon, ob es ein major oder minor Release ist.

versionName

Stellt die Version für den Benutzer dar. Üblicher Weise in Form von Semantic Versioning <major>.<minor>.<patch>.

Cordova Android Version Code

Cordova-Apps haben eine package.json sowie eine config.xml Datei zur Konfiguration. Standardmäßig steht in beiden der gleiche Versionsname (versionName) in Form von Semantic Versioning.

Aus dieser Version berechnet Cordova den versionCode nach folgendem Schema:

versionCode = MAJOR * 10000 + MINOR * 100 + PATCH

Der versionCode kann in der config.xml mit der Option android-versionCode überschrieben werden.

Beispiel

Aus der Version 1.5.1 wir folgender versionCode erzeugt.

Ergebnis
1 * 10000 10000
5 * 100 500
1 1
10501

Probleme mit minor oder patch >= 100

Bei der Version 1.1.130 verschiebt sich durch diese Rechnung patch in minor.

Ergebnis
1 * 10000 10000
1 * 100 100
130 130
10230

Wird jetzt minor beim nächsten Release erhöht, entsteht die Version 1.2.0.

Ergebnis
1 * 10000 10000
2 * 100 200
0 0
10200

Dieser versionCode von 10200 ist jetzt kleiner als 10230. Somit ist ein Upgrade der App nicht möglich ❗

Quellen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment