versionCode vs versionName в манифесте Android - PullRequest
200 голосов
/ 09 марта 2012

У меня было приложение на рынке Android с кодом версии = 2 и именем версии = 1.1

Однако, обновляя его сегодня, я изменил код версии = 3 в манифесте, но по ошибке изменил название своей версии на 1.0.1 и загрузил apk на рынок.

Теперь пользователи моего приложения получат уведомление об обновлении на своих телефонах или нет? Или я должен повторить процесс снова?

Ответы [ 8 ]

550 голосов
/ 22 апреля 2012

Ссылочная ссылка

android: versionCode

Внутренний номер версии.Этот номер используется только для определения того, является ли одна версия более новой, чем другая, причем более высокие числа указывают на более свежие версии.Это не номер версии, показанный пользователям;этот номер устанавливается атрибутом versionName.Значение должно быть задано как целое число, например, «100».Вы можете определить его по своему усмотрению, если каждая последующая версия имеет большее число.[...]

android: versionName

Имя версии, показанное пользователям.Этот атрибут может быть установлен как необработанная строка или как ссылка на строковый ресурс.Строка не имеет другой цели, кроме как для отображения пользователям.Атрибут versionCode содержит значимый номер версии, используемый для внутреннего использования.

Учитывая, что совершенно очевидно, что versionName - это просто то, что показано пользователю, versionCode имеет значение.Просто продолжайте увеличивать его, и все должно быть хорошо.

24 голосов
/ 21 июля 2013

Не нужно менять свои шаги. Поскольку вы увеличили свой VersionCode, это означает, что ваше приложение уже обновлено. VersionName - это просто строка, которая представляется пользователю для удобства чтения. Google play не предпринимает никаких действий в зависимости от VersionName.

6 голосов
/ 09 марта 2012

Я собираюсь дать вам свою интерпретацию единственной документации, которую я могу найти по этому вопросу.

"например, чтобы проверить отношения повышения или понижения." <- Вы можете понизить версию приложения. </p>

«вы должны убедиться, что в каждом последующем выпуске вашего приложения используется большее значение. Система не применяет это поведение» <- число действительно должно увеличиться, но вы все равно можете понизить рейтинг приложения. </p>

android: versionCode - Целочисленное значение, которое представляет версию кода приложения относительно других версий. Значение является целым числом, чтобы другие приложения могли его программно оценить, например, чтобы проверить отношения обновления или понижения. Вы можете установить значение на любое желаемое целое число, однако вы должны убедиться, что в каждом последующем выпуске вашего приложения используется большее значение. Система не применяет это поведение, но увеличение значения при последующих выпусках является нормативным. Как правило, вы выпускаете первую версию своего приложения с versionCode, установленным в 1, затем монотонно увеличиваете значение с каждым выпуском, независимо от того, является ли выпуск основным или второстепенным. Это означает, что значение android: versionCode не обязательно сильно напоминает версию выпуска приложения, которая видна пользователю (см. Ниже android: versionName). Приложения и службы публикации не должны отображать это значение версии для пользователей.

5 голосов
/ 06 мая 2017

Код версии используется магазином Google Play для нового обновления.И название версии отображается пользователю.Если вы увеличили код версии , тогда обновление будет видимо всем пользователям.

Для более подробной информации вы дадите 2 минуты чтения этой статьи https://developer.android.com/studio/publish/versioning.html

5 голосов
/ 30 июня 2015

Он действительно основан на versionCode, а не versionName.Однако я заметил, что изменение версии кода в AndroidManifest.xml было недостаточно с Android Studio - системой сборки Gradle.Мне нужно было изменить его в build.gradle.

5 голосов
/ 19 июня 2015

android: versionCode - Целочисленное значение, которое представляет версию кода приложения относительно других версий.

Значение является целым числом, так что другие приложения могут его программно оценивать, например, чтобы проверить взаимосвязь обновления или понижения. Вы можете установить значение на любое желаемое целое число, однако вы должны убедиться, что в каждом последующем выпуске вашего приложения используется большее значение. Система не применяет это поведение, но увеличение значения при последующих выпусках является нормативным.

android: versionName - Строковое значение, представляющее версию выпуска кода приложения, как это должно быть показано пользователям.

Значение представляет собой строку, так что вы можете описать версию приложения как строку .. или как любой другой тип абсолютного или относительного идентификатора версии.

Как и в случае android: versionCode, система не использует это значение для каких-либо внутренних целей, кроме как для того, чтобы приложения могли отображать его пользователям. Службы публикации могут также извлекать значение android: versionName для отображения пользователям.

Как правило, вы выпускаете первую версию своего приложения с versionCode, установленным в 1, затем монотонно увеличиваете значение с каждым выпуском, независимо от того, является ли выпуск основным или второстепенным выпуском. Это означает, что значение android: versionCode не обязательно сильно напоминает версию выпуска приложения, которая видна пользователю (см. Ниже android: versionName). Приложения и службы публикации не должны отображать это значение версии для пользователей.

4 голосов
/ 31 января 2017

Код версии Представьте версию вашего кода, android OS проверяет наличие обновлений с помощью этой переменной, является ли этот код старым или новым.

Название версии Представлять название версии в формате -

(Major). (Минор). (Точка)

Строка, используется только для чтения строки, функционально код версии использовался ОС.

3 голосов
/ 08 марта 2019

Код версии - это положительное целое число, которое используется для сравнения с другими кодами версий.Это не показывается пользователю, это просто для ведения записей.Вы можете установить любое целое число, которое вам нравится, но предлагается последовательно увеличивать его для последовательных версий.

Имя версии - это строка версии, видимая пользователем.Он не используется для внутренних сравнений или чего-либо еще, это просто для просмотра пользователями.

Например : скажем, вы выпускаете приложение, его начальный versionCode может быть 1, а versionName также может быть1. После того как вы внесете небольшие изменения в приложение и захотите опубликовать обновление, вы должны установить versionName на «1.1» (поскольку изменения не являются существенными), тогда как логически ваш versionCode должен быть равен 2 (независимо от размера изменений).Скажем, в другом состоянии вы выпускаете полностью обновленную версию своего приложения, вы можете установить versionCode и versionName на «2».Надеюсь, что это поможет.

Подробнее об этом можно прочитать здесь

...