【发布时间】:2012-01-12 01:26:24
【问题描述】:
如果在 Android 应用程序中进行了细微更改,是否必须更改 versionName 和 versionNumber,还是只更改一个就足够了?
两者有什么区别?
【问题讨论】:
标签: android
如果在 Android 应用程序中进行了细微更改,是否必须更改 versionName 和 versionNumber,还是只更改一个就足够了?
两者有什么区别?
【问题讨论】:
标签: android
设置应用程序版本
要定义应用程序的版本信息,您需要在应用程序的清单文件中设置属性。有两个属性可用,您应该始终为它们定义值:
* 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 值以显示给用户。
This link 包含更多信息和以下示例:
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>
【讨论】:
你不需要改变任何东西,但是当你这样做时代码看起来更好:)
versionName仅供用户使用,用户可以看到,而且必须是字符串
versionCode 是一个整数,用于确定哪个版本更新。只要它会上升,一切都会好起来的;)
【讨论】:
Android App Manifest documentation:
android:versionCode
内部版本号。此数字仅用于确定一个版本是否比另一个版本更新,数字越大表示版本越新。这不是向用户显示的版本号;该数字由 versionName 属性设置。该值必须设置为整数,例如“100”。您可以根据需要定义它,只要每个后续版本都有一个更高的数字。 [...]
android:versionName
向用户显示的版本号。此属性可以设置为原始字符串或字符串资源的引用。该字符串除了显示给用户之外没有其他用途。 versionCode 属性保存内部使用的重要版本号。
【讨论】: