versionCode vs versionName dans le manifeste Android


223

J'ai eu mon application sur l'Android Market avec le code de version = 2 et le nom de version = 1.1

Cependant, lors de la mise à jour d'aujourd'hui, j'ai changé le code de version = 3 dans le manifeste, mais par erreur, j'ai changé le nom de ma version en 1.0.1 et téléchargé l'apk sur le marché.

Maintenant, les utilisateurs de mon application recevront-ils ou non une notification de mise à jour sur leur téléphone? Ou dois-je recommencer le processus?


1
essayez ce lien, il vous aidera .. " developer.android.com/tools/publishing/… "
MPG

Ils devraient, à mesure que vous augmentiez le code de version. Qui en théorie est celui utilisé comme marqueur de mise à jour.
superUser

@ user838522 pourriez-vous s'il vous plaît marquer la réponse la plus votée comme réponse sélectionnée?
xarlymg89

@ CarlosAlbertoMartínezGadea: user838522 a été vu pour la dernière fois en 2013
serv-inc

Réponses:


611

Lien de référence

android: versionCode

Un numéro de version interne. Ce nombre est utilisé uniquement pour déterminer si une version est plus récente qu'une autre, des nombres plus élevés indiquant des versions plus récentes. Ce n'est pas le numéro de version affiché aux utilisateurs; ce nombre est défini par l'attribut versionName. La valeur doit être définie sous la forme d'un entier, tel que "100". Vous pouvez le définir comme vous le souhaitez, tant que chaque version successive a un nombre supérieur. [...]

android: versionName

Nom de version affiché aux utilisateurs. Cet attribut peut être défini comme une chaîne brute ou comme référence à une ressource de chaîne. La chaîne n'a d'autre but que d'être affichée aux utilisateurs. L'attribut versionCode contient le numéro de version significatif utilisé en interne.

En lisant qu'il est assez clair que versionName est juste quelque chose qui est montré à l'utilisateur, versionCode est ce qui compte. Continuez à l'augmenter et tout devrait être bon.


1
Cela signifie aucune relation mathématique entre les deux. C'est ça?
Vinil Chandran

Cela explique les mises à jour silencieuses qui semblent être la même version.
E. Sundin

11
Seulement ajouter une note: La plus grande valeur Google Play permet codeVersion est 2100000000
Atul

1
Est-il obligatoire de maintenir la différence de code de version entre la version mise à jour et la version précédente de l'application dans le Play Store à 1?
Sivaram Boina

@sivaram Non. Pas du tout.
Inconnu

30

Pas besoin d'inverser vos pas. Lorsque vous augmentez votre VersionCode, cela signifie que votre application a déjà été mise à niveau. Le VersionName est juste une chaîne qui est présentée à l'utilisateur pour la lisibilité de l'utilisateur. Google Play n'entreprend aucune action en fonction de VersionName.


9

Le code de version est utilisé par Google Play Store pour une nouvelle mise à jour. Et le nom de la version est affiché pour l'utilisateur. Si vous avez augmenté le code de version, la mise à jour sera visible pour tous les utilisateurs.

Pour des informations plus détaillées, vous donnez 2 minutes de lecture à cet article https://developer.android.com/studio/publish/versioning.html


6

Je vais vous donner mon interprétation de la seule documentation que je puisse trouver sur le sujet.

"par exemple pour vérifier une relation de mise à niveau ou de rétrogradation." <- Vous pouvez rétrograder une application.

"vous devez vous assurer que chaque version successive de votre application utilise une valeur supérieure. Le système n'applique pas ce comportement" <- Le nombre devrait vraiment augmenter, mais vous pouvez toujours rétrograder une application.

android: versionCode - Une valeur entière qui représente la version du code d'application, par rapport aux autres versions. La valeur est un entier afin que d'autres applications puissent l'évaluer par programme, par exemple pour vérifier une relation de mise à niveau ou de rétrogradation. Vous pouvez définir la valeur sur n'importe quel entier de votre choix, mais vous devez vous assurer que chaque version successive de votre application utilise une valeur supérieure. Le système n'applique pas ce comportement, mais l'augmentation de la valeur avec les versions successives est normative. En règle générale, vous publiez la première version de votre application avec versionCode défini sur 1, puis augmentez la valeur de façon monotone à chaque version, que la version constitue une version majeure ou mineure. Cela signifie que l'androïde: La valeur versionCode n'a pas nécessairement une forte ressemblance avec la version de version de l'application qui est visible pour l'utilisateur (voir android: versionName, ci-dessous). Les applications et les services de publication ne doivent pas afficher cette valeur de version aux utilisateurs.


2
Alors, je peux juste en rester là? Parce que je pense que le système Android vérifie les mises à jour des applications en fonction du code de version au lieu du numéro de version. Corrige moi si je me trompe.
user838522

5

android: versionCode - Une valeur entière qui représente la version du code d'application, par rapport aux autres versions.

La valeur est un entier afin que d'autres applications puissent l'évaluer par programme, par exemple pour vérifier une relation de mise à niveau ou de rétrogradation. Vous pouvez définir la valeur sur n'importe quel entier de votre choix, mais vous devez vous assurer que chaque version successive de votre application utilise une valeur supérieure. Le système n'applique pas ce comportement, mais l'augmentation de la valeur avec les versions successives est normative.

android: versionName - Une valeur de chaîne qui représente la version finale du code d'application, telle qu'elle doit être montrée aux utilisateurs.

La valeur est une chaîne afin que vous puissiez décrire la version de l'application comme une chaîne .. ou comme tout autre type d'identifiant de version absolu ou relatif.

Comme avec android: versionCode, le système n'utilise cette valeur à aucune fin interne, sauf pour permettre aux applications de l'afficher aux utilisateurs. Les services de publication peuvent également extraire la valeur android: versionName pour l'affichage aux utilisateurs.

En règle générale, vous publiez la première version de votre application avec versionCode défini sur 1, puis augmentez la valeur de façon monotone à chaque version, que la version constitue une version majeure ou mineure. Cela signifie que la valeur android: versionCode n'a pas nécessairement une forte ressemblance avec la version de sortie de l'application visible par l'utilisateur (voir android: versionName, ci-dessous). Les applications et les services de publication ne doivent pas afficher cette valeur de version aux utilisateurs.


5

Il est en effet basé sur versionCode et non sur versionName. Cependant, j'ai remarqué que la modification du code de version dans AndroidManifest.xml n'était pas suffisante avec Android Studio - système de construction Gradle. Je devais le changer dans le build.gradle.


5

Le code de version représente la version de votre code, le système d'exploitation Android vérifie la mise à jour en utilisant cette variable, que ce code soit ancien ou nouveau.

Nom de la version Représente le nom de la version au format-

(Majeur). (Mineur). (Point)

Chaîne, utilisée uniquement pour une chaîne lisible, le code de version fonctionnel a été utilisé par le système d'exploitation.


5

Code de version - C'est un entier positif qui est utilisé pour la comparaison avec d'autres codes de version. Ce n'est pas montré à l'utilisateur, c'est juste pour la tenue de dossiers en quelque sorte. Vous pouvez le définir sur n'importe quel entier de votre choix, mais il est suggéré de l'incrémenter linéairement pour les versions successives.

Nom de version - Il s'agit de la chaîne de version vue par l'utilisateur. Il n'est pas utilisé pour des comparaisons internes ou quoi que ce soit, c'est juste pour que les utilisateurs puissent le voir.

Par exemple : Supposons que vous publiez une application, son versionCode initial pourrait être 1 et versionName pourrait également être 1. Une fois que vous apportez de petites modifications à l'application et que vous souhaitez publier une mise à jour, vous devez définir versionName sur "1.1" (puisque les modifications ne sont pas majeurs) alors que votre versionCode devrait être 2 (quelle que soit la taille des modifications).

Supposons que dans une autre condition, vous publiez une version complètement remaniée de votre application, vous pouvez définir versionCode et versionName sur "2".

J'espère que cela pourra aider.

Vous pouvez en savoir plus ici


0

Étant donné un numéro de version MAJOR.MINOR.PATCH, incrémentez:


  • Version MAJEURE lorsque vous apportez des modifications d'API incompatibles,
  • Version MINOR lorsque vous ajoutez des fonctionnalités d'une manière rétrocompatible, et
  • Version PATCH lorsque vous effectuez des corrections de bogues rétrocompatibles.

Code de version et nom de version

Comme vous le savez peut-être, sur Android, vous devez définir deux champs de version pour une application: le code de version (android: versionCode) et le nom de la version (android: versionName). Le code de version est une valeur entière incrémentielle qui représente la version du code d'application. Le nom de la version est une valeur de chaîne qui représente le nom de la version «conviviale» affichée pour les utilisateurs.


0

La réponse de Tanoh pourrait utiliser une clarification. VersionCode est l'équivalent d'un numéro de build. Donc, généralement, une application passera par de nombreuses itérations avant sa sortie. Certaines de ces itérations peuvent arriver sur le Google Play Store sous forme d'alpha, bêta et versions réelles. Chaque itération successive doit avoir un versionCode incrémenté. Cependant, vous n'augmentez généralement le nom de version qu'entre les versions publiques. Les deux nombres sont significatifs. Vos utilisateurs doivent savoir si la version qu'ils ont sur leur téléphone est la plus récente ou non (versionName) et les systèmes Play Store et CI tels que bitrise s'appuient sur et / ou mettent à jour le numéro de version (versionCode)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.