Android中versionName和versionNumber的区别

23

如果在Android应用程序中进行了小的更改,是否必须更改versionNameversionNumber,或者更改一个就足够了?

这两者之间有什么区别?

3个回答

41

设置应用程序版本

要为您的应用程序定义版本信息,您需要在应用程序清单文件中设置属性。有两个可用的属性,您应该始终为这两个属性定义值:

* android:versionCode — An integer value that represents the version of the application
  code, relative to other versions.

该值是一个整数,以便其他应用程序可以编程地评估它,例如检查升级或降级关系。您可以将该值设置为任何整数,但是您应确保每个连续发布版本的应用程序都使用更大的值。系统不强制执行此行为,但随着连续发布版本的增加而增加该值是一种规范行为。

通常情况下,您会将应用程序的第一个版本发布时versionCode设置为1,然后每次发布时单调递增该值,无论发布是否构成主要或次要发布。这意味着android:versionCode值不一定与对用户可见的应用程序发布版本(请参见下面的android:versionName)具有很强的相似性。应用程序和发布服务不应向用户显示此版本值。

* android:versionName — A string value that represents the release version of the
  application code, as it should be shown to users.
该值是一个字符串,因此您可以将应用程序版本描述为字符串,或作为任何其他类型的绝对或相对版本标识符。
与android:versionCode一样,系统不会将此值用于任何内部目的,除了使应用程序能够向用户显示它。发布服务还可以提取android:versionName值以向用户显示。 此链接包含更多信息和以下示例: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.package.name"
      android:versionCode="2"
      android:versionName="1.1">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        ...
    </application>
</manifest>

5

你不需要改变任何东西,但是当你这样做时,代码看起来更漂亮 :)

versionName 仅用于用户目的,他们可以看到它,它需要是一个字符串。

versionCode 是一个整数,用于确定哪个版本更近。只要它在上升,一切都会没问题;)

参考链接


0

Android应用程序清单文档:

android:versionCode

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

android:versionName

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接