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