Android Manifest中的versionCode与versionName

时间:2012-03-09 04:57:12

标签: android version android-manifest google-play

我的Android应用程序在Android市场上有版本代码= 2和版本名称= 1.1

然而,在今天更新它时,我在清单中更改了版本代码= 3,但错误地将我的版本名称更改为1.0.1并将apk上传到市场。

现在,我的应用的用户是否会在手机上获得更新通知?或者我应该重新重做这个过程吗?

11 个答案:

答案 0 :(得分:541)

<强> Reference Link

机器人:的versionCode

  

内部版本号。此数字仅用于确定一个版本是否比另一个版本更新,更高的数字表示更新的版本。这不是向用户显示的版本号;该号码由versionName属性设置。   该值必须设置为整数,例如“100”。您可以根据需要定义它,只要每个连续版本具有更高的数字即可。 [...]

机器人:的versionName

  

向用户显示的版本名称。此属性可以设置为原始字符串或字符串资源的引用。该字符串没有其他目的,只能显示给用户。 versionCode属性保存内部使用的重要版本号。

读到很明显,versionName只是向用户显示的内容,而versionCode才是最重要的。只要不断增加它,一切都应该是好的。

答案 1 :(得分:24)

不需要改变你的步骤。当您增加VersionCode时,这意味着您的应用程序已经升级。 VersionName只是一个字符串,呈现给用户以便用户可读。 Google Play不会采取任何操作,具体取决于VersionName。

答案 2 :(得分:6)

我将向您解释我可以在该主题上找到的唯一文件。

“例如检查升级或降级关系。” &lt; - 您可以降级应用。

“您应该确保应用程序的每个后续版本都使用更大的值。系统不会强制执行此行为”&lt; - 数字确实应该增加,但您仍然可以降级应用程序。

android:versionCode - 一个整数值,表示相对于其他版本的应用程序代码的版本。该值是一个整数,以便其他应用程序可以以编程方式对其进行评估,例如检查升级或降级关系。您可以将值设置为所需的任何整数,但是应确保应用程序的每个后续版本都使用更大的值。系统不会强制执行此行为,但通过连续发布增加值是规范性的。通常,您将释放应用程序的第一个版本,并将versionCode设置为1,然后随每个版本单调增加值,无论该版本是主要还是次要版本。这意味着android:versionCode值不一定与用户可见的应用程序发行版本具有很强的相似性(请参阅下面的android:versionName)。应用程序和发布服务不应向用户显示此版本值。

答案 3 :(得分:5)

android:versionCode - 一个整数值,表示相对于其他版本的应用程序代码版本。

该值是一个整数,以便其他应用程序可以以编程方式对其进行评估,例如检查升级或降级关系。您可以将值设置为所需的任何整数,但是应确保应用程序的每个后续版本都使用更大的值。系统不会强制执行此行为,但通过连续发布增加值是规范性的。

android:versionName - 一个字符串值,表示应用程序代码的发布版本,因为它应该向用户显示。

该值是一个字符串,以便您可以将应用程序版本描述为..字符串,或任何其他类型的绝对或相对版本标识符。

与android:versionCode一样,系统不会将此值用于任何内部目的,除了使应用程序能够将其显示给用户。发布服务还可以提取android:versionName值以显示给用户。

通常,您将释放应用程序的第一个版本,并将versionCode设置为1,然后随每个版本单调增加值,无论该版本是主要版本还是次要版本。这意味着android:versionCode值不一定与用户可见的应用程序发行版本具有很强的相似性(请参阅下面的android:versionName)。应用程序和发布服务不应向用户显示此版本值。

答案 4 :(得分:5)

它确实基于versionCode而不是versionName。但是,我注意到使用Android Studio - Gradle构建系统更改AndroidManifest.xml中的versionCode是不够的。我需要在build.gradle中更改它。

答案 5 :(得分:5)

Google Play商店使用

版本代码进行新的更新。并向用户显示版本名称。 如果您增加了版本代码,则所有用户都可以看到更新。

如需更详细的信息,请阅读本文{2}}

2分钟

答案 6 :(得分:4)

版本代码 表示您的代码版本,Android OS使用此变量检查更新,无论此代码是旧代码还是新代码。

版本名称 以格式表示版本名称 -

  

(主要)。(次要)。(点)

字符串,仅用于可读字符串,功能版本代码已被OS使用。

答案 7 :(得分:4)

给出版本号MAJOR.MINOR.PATCH,增加:


  • 更改不兼容的API时的主要版本,
  • 以向后兼容的方式添加功能时的,并且
  • 进行向后兼容的错误修复时的PATCH版本。

版本代码和版本名称

您可能知道,在android上,您必须为应用定义两个版本字段:版本代码(android:versionCode)和版本名称(android:versionName)。版本代码是一个增量整数值,代表应用程序代码的版本。版本名称是一个字符串值,代表显示给用户的“友好”版本名称。

答案 8 :(得分:2)

版本代码-这是一个正整数,用于与其他版本代码进行比较。它不会显示给用户,只是以某种方式保存记录。您可以将其设置为任何所需的整数,但建议您为后续版本线性递增。

版本名称-这是用户看到的版本字符串。它不用于内部比较或其他任何东西,只是供用户查看。

例如:假设您发布了一个应用,其初始versionCode可能为1,versionName也可能为1。一旦您对该应用进行了一些小的更改并想要发布更新,您将将versionName设置为“ 1.1”(因为更改并不重要),而从逻辑上讲,您的versionCode应该为2(无论更改大小如何)。假设在另一种情况下,您发布了应用程序的完全改版,则可以将versionCode和versionName设置为“ 2”。希望有帮助。

您可以详细了解here

答案 9 :(得分:0)

answer中的Tanoh可能需要一些澄清。 VersionCode与内部版本号等效。因此,通常情况下,应用在发布前会经历多次迭代。其中一些迭代可能会以Alpha,Beta和实际发行的形式进入Google Play商店。每个后续迭代必须具有递增的versionCode。但是,通常只有在两次公开发布之间才增加versionName。这两个数字都很重要。您的用户需要知道他们手机上的版本是否为最新版本(versionName),而Play Store和CI系统(例如比特币)依赖和/或更新内部版本号(versionCode)

答案 10 :(得分:0)

版本代码

一个正整数,用作内部版本号。该数字仅用于确定一个版本是否比另一个版本新,而更高的数字表示一个新版本。这不是显示给用户的版本号;该数字由下面的versionName设置来设置。 Android系统使用versionCode值来防止用户安装的versionCode低于其设备上当前安装的版本的APK,从而防止降级。

该值为正整数,以便其他应用可以以编程方式评估它,例如检查升级或降级关系。您可以将值设置为所需的任何正整数,但是应确保应用程序的每个后续发行版均使用更大的值。您无法使用先前版本已经使用的versionCode将APK上传到Play商店。

版本名称

用作显示给用户的版本号的字符串。此设置可以指定为原始字符串或对字符串资源的引用。

该值是一个字符串,因此您可以将应用程序版本描述为..字符串,或任何其他类型的绝对或相对版本标识符。 versionName除了向用户显示以外没有其他用途。