versionCode vs versionName im Android Manifest


223

Ich hatte meine App im Android-Markt mit Versionscode = 2 und Versionsname = 1.1

Während ich es heute aktualisiere, habe ich den Versionscode = 3 im Manifest geändert, aber versehentlich meinen Versionsnamen in 1.0.1 geändert und die apk auf den Markt hochgeladen.

Erhalten die Benutzer meiner App jetzt eine Update-Benachrichtigung auf ihren Handys oder nicht? Oder sollte ich den Vorgang erneut wiederholen?


1
Versuchen Sie diesen Link, es wird Ihnen helfen .. " developer.android.com/tools/publishing/… "
MPG

Sie sollten, wie Sie den Versionscode erhöht haben. Was theoretisch als Updater-Marker verwendet wird.
SuperUser

@ user838522 Könnten Sie bitte die am häufigsten gewählte Antwort als ausgewählte Antwort markieren?
Xarlymg89

@ CarlosAlbertoMartínezGadea: user838522 wurde zuletzt im Jahr 2013 gesehen
serv-inc

Antworten:


610

Referenzlink

android: versionCode

Eine interne Versionsnummer. Diese Nummer wird nur verwendet, um zu bestimmen, ob eine Version aktueller als eine andere ist, wobei höhere Nummern neuere Versionen anzeigen. Dies ist nicht die Versionsnummer, die den Benutzern angezeigt wird. Diese Nummer wird durch das Attribut versionName festgelegt. Der Wert muss als Ganzzahl festgelegt werden, z. B. "100". Sie können es definieren, wie Sie möchten, solange jede nachfolgende Version eine höhere Nummer hat. [...]

android: versionName

Der Versionsname, der den Benutzern angezeigt wird. Dieses Attribut kann als Rohzeichenfolge oder als Referenz auf eine Zeichenfolgenressource festgelegt werden. Die Zeichenfolge hat keinen anderen Zweck als den Benutzern angezeigt zu werden. Das versionCode-Attribut enthält die intern verwendete signifikante Versionsnummer.

Wenn man liest, dass es ziemlich klar ist, dass versionName nur etwas ist, das dem Benutzer gezeigt wird, ist versionCode wichtig. Erhöhen Sie es einfach weiter und alles sollte gut sein.


1
Das bedeutet keine mathematische Beziehung zwischen beiden. Ist es?
Vinil Chandran

Dies erklärt stille Updates, die anscheinend dieselbe Version haben.
E. Sundin

11
Nur um eine Notiz hinzuzufügen: Der größte Wert, den Google Play für versionCode zulässt, ist 2100000000
Atul

1
Ist es obligatorisch, den Versionscodeunterschied zwischen der aktualisierten Version und der vorherigen Version der App im Play Store auf 1 zu beschränken?
Sivaram Boina

@sivaram Nein. Überhaupt nicht.
Unbekannt

30

Sie müssen Ihre Schritte nicht umkehren. Wenn Sie Ihren VersionCode erhöht haben, bedeutet dies, dass Ihre Anwendung bereits aktualisiert wurde. Der Versionsname ist nur eine Zeichenfolge, die dem Benutzer zur besseren Lesbarkeit angezeigt wird. Google Play ergreift je nach Versionsname keine Maßnahmen.



6

Ich werde Ihnen meine Interpretation der einzigen Dokumentation geben, die ich zu diesem Thema finden kann.

"Zum Beispiel, um eine Upgrade- oder Downgrade-Beziehung zu überprüfen." <- Sie können eine App downgraden.

"Sie sollten sicherstellen, dass jede nachfolgende Version Ihrer Anwendung einen höheren Wert verwendet. Das System erzwingt dieses Verhalten nicht." <- Die Anzahl sollte wirklich steigen, aber Sie können eine App trotzdem herunterstufen.

android: versionCode - Ein ganzzahliger Wert, der die Version des Anwendungscodes im Vergleich zu anderen Versionen darstellt. Der Wert ist eine Ganzzahl, damit andere Anwendungen ihn programmgesteuert auswerten können, um beispielsweise eine Upgrade- oder Downgrade-Beziehung zu überprüfen. Sie können den Wert auf eine beliebige Ganzzahl festlegen. Sie sollten jedoch sicherstellen, dass jede nachfolgende Version Ihrer Anwendung einen höheren Wert verwendet. Das System erzwingt dieses Verhalten nicht, aber die Wertsteigerung mit aufeinanderfolgenden Releases ist normativ. In der Regel veröffentlichen Sie die erste Version Ihrer Anwendung mit dem auf 1 festgelegten versionCode und erhöhen dann den Wert mit jeder Version monoton, unabhängig davon, ob es sich bei der Version um eine Haupt- oder eine Nebenversion handelt. Dies bedeutet, dass der Android: Der versionCode-Wert hat nicht unbedingt eine starke Ähnlichkeit mit der für den Benutzer sichtbaren Version der Anwendungsversion (siehe Android: Versionsname unten). Anwendungen und Veröffentlichungsdienste sollten Benutzern diesen Versionswert nicht anzeigen.


2
Kann ich es also einfach dabei lassen? Weil ich denke, dass das Android-System nach App-Updates basierend auf dem Versionscode anstelle der Versionsnummer sucht. Korrigiere mich, wenn ich falsch liege.
user838522

5

android: versionCode - Ein ganzzahliger Wert, der die Version des Anwendungscodes im Vergleich zu anderen Versionen darstellt.

Der Wert ist eine Ganzzahl, damit andere Anwendungen ihn programmgesteuert auswerten können, um beispielsweise eine Upgrade- oder Downgrade-Beziehung zu überprüfen. Sie können den Wert auf eine beliebige Ganzzahl festlegen. Sie sollten jedoch sicherstellen, dass jede nachfolgende Version Ihrer Anwendung einen höheren Wert verwendet. Das System erzwingt dieses Verhalten nicht, aber eine Wertsteigerung mit aufeinanderfolgenden Releases ist normativ.

android: versionName - Ein Zeichenfolgenwert, der die Release-Version des Anwendungscodes darstellt, wie sie den Benutzern angezeigt werden soll.

Der Wert ist eine Zeichenfolge, sodass Sie die Anwendungsversion als .. Zeichenfolge oder als eine andere Art von absoluter oder relativer Versionskennung beschreiben können.

Wie bei android: versionCode verwendet das System diesen Wert nicht für interne Zwecke, außer um Anwendungen zu ermöglichen, ihn Benutzern anzuzeigen. Veröffentlichungsdienste können auch den Wert android: versionName für die Anzeige für Benutzer extrahieren.

Normalerweise veröffentlichen Sie die erste Version Ihrer Anwendung mit versionCode auf 1 und erhöhen dann den Wert mit jeder Version monoton, unabhängig davon, ob es sich bei der Version um eine Haupt- oder eine Nebenversion handelt. Dies bedeutet, dass der Wert für android: versionCode nicht unbedingt stark mit der für den Benutzer sichtbaren Version der Anwendungsversion übereinstimmt (siehe unten: android: versionName). Anwendungen und Veröffentlichungsdienste sollten Benutzern diesen Versionswert nicht anzeigen.


5

Es basiert in der Tat auf versionCode und nicht auf versionName. Ich habe jedoch festgestellt, dass das Ändern des versionCode in AndroidManifest.xml mit dem Build-System von Android Studio - Gradle nicht ausreicht. Ich musste es im build.gradle ändern.


5

Versionscode Stellen Sie die Version Ihres Codes dar. Das Android-Betriebssystem prüft anhand dieser Variablen, ob dieser Code alt oder neu ist.

Versionsname Repräsentiert den Namen der Version im Format-

(Dur). (Moll). (Punkt)

Zeichenfolge, die nur für lesbare Zeichenfolgen verwendet wird. Der funktionale Versionscode wurde vom Betriebssystem verwendet.


4

Versionscode - Dies ist eine positive Ganzzahl, die zum Vergleich mit anderen Versionscodes verwendet wird. Es wird dem Benutzer nicht angezeigt, sondern dient nur zur Aufzeichnung. Sie können es auf eine beliebige Ganzzahl setzen, es wird jedoch empfohlen, es für aufeinanderfolgende Versionen linear zu erhöhen.

Versionsname - Dies ist die Versionszeichenfolge, die der Benutzer sieht. Es wird nicht für interne Vergleiche oder ähnliches verwendet, sondern nur für Benutzer.

Beispiel : Angenommen, Sie geben eine App frei, der ursprüngliche Versionscode könnte 1 und der Versionsname auch 1 sein. Wenn Sie einige kleine Änderungen an der App vorgenommen haben und ein Update veröffentlichen möchten, setzen Sie den Versionsnamen auf "1.1" (seit den Änderungen) sind nicht groß), während Ihr versionCode logischerweise 2 sein sollte (unabhängig von der Größe der Änderungen).

Angenommen, Sie veröffentlichen in einer anderen Bedingung eine vollständig überarbeitete Version Ihrer App und können versionCode und versionName auf "2" setzen.

Hoffentlich hilft das.

Sie können mehr darüber lesen Sie hier


0

Inkrementieren Sie bei gegebener Versionsnummer MAJOR.MINOR.PATCH Folgendes:


  • MAJOR-Version, wenn Sie inkompatible API-Änderungen vornehmen,
  • MINOR-Version, wenn Sie Funktionen abwärtskompatibel hinzufügen, und
  • PATCH-Version, wenn Sie abwärtskompatible Fehlerbehebungen vornehmen.

Versionscode & Versionsname

Wie Sie vielleicht wissen, müssen Sie auf Android zwei Versionsfelder für eine App definieren: den Versionscode (android: versionCode) und den Versionsnamen (android: versionName). Der Versionscode ist ein inkrementeller ganzzahliger Wert, der die Version des Anwendungscodes darstellt. Der Versionsname ist ein Zeichenfolgenwert, der den "benutzerfreundlichen" Versionsnamen darstellt, der den Benutzern angezeigt wird.


0

Die Antwort von Tanoh könnte eine Klarstellung gebrauchen. VersionCode entspricht einer Build-Nummer. Daher durchläuft eine App in der Regel vor der Veröffentlichung viele Iterationen. Einige dieser Iterationen erreichen möglicherweise den Google Play Store in Form von Alpha, Beta und tatsächlichen Versionen. Jede nachfolgende Iteration muss einen inkrementierten versionCode haben. Normalerweise erhöhen Sie den Versionsnamen jedoch nur zwischen öffentlichen Veröffentlichungen. Beide Zahlen sind signifikant. Ihre Benutzer müssen wissen, ob die Version, die sie auf ihrem Telefon haben, die neueste ist oder nicht (Versionsname), und der Play Store und CI-Systeme wie Bitrise verlassen sich auf die Build-Nummer und / oder aktualisieren diese (Versionscode).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.