web-dev-qa-db-fra.com

versionCode vs versionName dans Android Manifest

J'avais mon application sur le marché Android avec le code de version = 2 et le nom de version = 1.1

Cependant, lors de la mise à jour 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 j'ai téléchargé l'apk sur le marché.

Maintenant, les utilisateurs de mon application recevront-ils une notification de mise à jour sur leurs téléphones ou pas? Ou devrais-je refaire le processus à nouveau?

201
user838522

Lien de référence

Android: versionCode

Un numéro de version interne. Ce numéro sert uniquement à déterminer si une version est plus récente qu'une autre, les chiffres les plus élevés indiquant les versions les plus récentes. Ce n'est pas le numéro de version indiqué aux utilisateurs; ce nombre est défini par l'attribut versionName. La valeur doit être définie comme un entier, tel que "100". Vous pouvez le définir comme vous le souhaitez, à condition que chaque version successive ait un numéro plus élevé. [...]

Android: versionName

Le nom de version montré aux utilisateurs. Cet attribut peut être défini en tant que chaîne brute ou en tant que 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 simplement à l'augmenter et tout devrait être bien.

562
Tanoh

Ne pas besoin d'inverser vos étapes. 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 ne prend aucune mesure en fonction de VersionName.

25
user2517419

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

Pour plus d'informations, vous donnez 2 minutes de lecture à cet article https://developer.Android.com/studio/publish/versioning.html

7
dev.sourabh

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 déclasser 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 réellement augmenter, mais vous pouvez toujours rétrograder une application.

Android: versionCode - Valeur entière représentant la version du code de l'application, par rapport aux autres versions. La valeur est un entier pour 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 nombre entier, 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 des versions successives est normative. Généralement, vous publiez la première version de votre application avec versionCode défini sur 1, puis augmentez la valeur de manière monotone avec 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 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 pour les utilisateurs.

6
braden

Android: versionCode - Valeur entière représentant la version du code de l'application, par rapport aux autres versions.

La valeur est un entier pour 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 nombre entier, 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 des versions successives est normative.

Android: versionName - Valeur de chaîne représentant la version du code de l'application, telle qu'elle devrait être montrée aux utilisateurs.

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

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

Généralement, vous publiez la première version de votre application avec versionCode défini sur 1, puis augmentez la valeur de manière monotone avec 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 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 pour les utilisateurs.

5

Il est en effet basé sur versionCode et non sur versionName. Cependant, j'ai remarqué que changer de versionCode dans AndroidManifest.xml ne suffisait pas avec Android Studio - Système de construction Gradle. Je devais le changer dans le build.gradle.

5
Chaitanya

Code de version Représente la version de votre code, Android Le système d'exploitation recherche la mise à jour à l'aide de cette variable, que ce code soit ancien ou nouveau.

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

(Majeure). (Mineure). (Point)

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

4
Rahul Jain

Code de version - C'est un entier positif utilisé pour la comparaison avec d'autres codes de version. Ce n'est pas montré à l'utilisateur, c'est juste pour la tenue des dossiers d'une manière. Vous pouvez le définir sur n’importe quel nombre entier, mais il est suggéré de l’incrémenter linéairement pour les versions successives.

Nom de la 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 les utilisateurs à voir.

Par exemple : Supposons que vous publiez une application, son versionCode initial pourrait être 1 et versionName pourrait également être 1. Lorsque vous apportez de petites modifications à l'application et que vous souhaitez publier une mise à jour, vous définiriez versionName sur "1.1" (puisque les modifications ne sont pas majeures) alors que logiquement votre versionCode devrait être 2 (quelle que soit la taille des modifications). Supposons que, dans un autre cas, vous publiiez une version complètement réorganisée de votre application, vous pouvez définir versionCode et versionName sur "2". J'espère que ça t'as aidé.

Vous pouvez en lire plus à ce sujet ici

3
krishnakeshan