如果在Android应用程序中进行了小的更改,是否必须更改versionName
和versionNumber
,或者更改一个就足够了?
这两者之间有什么区别?
如果在Android应用程序中进行了小的更改,是否必须更改versionName
和versionNumber
,或者更改一个就足够了?
这两者之间有什么区别?
设置应用程序版本
要为您的应用程序定义版本信息,您需要在应用程序清单文件中设置属性。有两个可用的属性,您应该始终为这两个属性定义值:
* 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.
该值是一个字符串,因此您可以将应用程序版本描述为字符串,或作为任何其他类型的绝对或相对版本标识符。<?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>
你不需要改变任何东西,但是当你这样做时,代码看起来更漂亮 :)
versionName 仅用于用户目的,他们可以看到它,它需要是一个字符串。
versionCode 是一个整数,用于确定哪个版本更近。只要它在上升,一切都会没问题;)
android:versionCode
一个内部版本号。此数字仅用于确定一个版本是否比另一个版本更新,较高的数字表示更近期的版本。这不是向用户显示的版本号;该数字由versionName属性设置。该值必须设置为整数,例如“100”。您可以根据需要定义它,只要每个后续版本都具有更高的数字即可。[...]
android:versionName
向用户显示的版本号。此属性可以设置为原始字符串或字符串资源的引用。该字符串除了向用户显示外没有其他目的。versionCode属性保存内部使用的重要版本号。