一、版本的主要功能说明
在应用程序的升级、维护策略中,版本是一个关键的组成部分,主要体现在以下几个方面中:
1、用户需要了解在他们的设备上所安装的应用程序的版本的特定信息,以及已安装程序的升级版本可用的情况;
2、其他应用程序(作为同一个套件中发布的其他应用程序)需要从系统中查询你的应用程序的版本号,来确认兼容性或者确认两者之间的依赖情况;
二、Android系统中提供的对程序的版本管理说明
Android系统本身并不检查应用程序版本信息,比如在升级、兼容性等等上不作强制限制,而是由用户或应用程序自身负责对版本做限制。
Android系统根据其manifest文件中minSdkVersion属性进行版本兼容性检查。这允许一个应用程序指定兼容的最小系统API版本。
例如设置应用程序版本号,需要在应用程序的manifest文件中定义应用程序版本信息。其中有两个必须同时定义的属性:
第一个:android:versionCode其值为整型,表示应用程序代码的版本,因此其他应用程序可以在程序编码中判断它来检查升级或降级关系。这个属性可以设置任何值,只要确保每一个后续发布的应用程序使用更大的值。每个后续版本使用增加的数字值是标准作法。典型的做法是你发布的第一个版本的versionCode为1,以后的每个发布版本单调递增,而不管这个发布版本是否是一个主要或者次要的发布版本。这也表明android:versionCode 值没有必要与用户可见的应用程序发布版本号有特别的相似之处,同时应用程序也没有必要将此版本值呈现给用户。
第二个:android:versionName其值为字符串,主要向用户显示应用程序代码的发布版本号。 此值是一个字符串,因此可以用任何其他类型的绝对或相对版本号标识的形式。相对于 android:versionCode,除了让应用程序向用户显示它以外,系统的其他地方没有用到此值。
应用发布平台可能会将android:versionName 值解析出来显示给用户, 可以在manifest文件的<manifest>元素中同时定义这些个版本相关属性。
例如下形式:
<?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>
上述代码说明: android:versionCode 值显示当前的.apk包含了应用程序代码的第二个发布版本,android:versionName字符串表现的是一个小的后继发布版本。
注:参考文章来源
一、版本的主要功能说明
在应用程序的升级、维护策略中,版本是一个关键的组成部分,主要体现在以下几个方面中:
1、用户需要了解在他们的设备上所安装的应用程序的版本的特定信息,以及已安装程序的升级版本可用的情况;
2、其他应用程序(作为同一个套件中发布的其他应用程序)需要从系统中查询你的应用程序的版本号,来确认兼容性或者确认两者之间的依赖情况;
3、后期开发中便于开发人员对版本的一个控制管理。
二、Android系统中提供的对程序的版本管理说明
Android系统本身并不检查应用程序版本信息,比如在升级、兼容性等等上不作强制限制,而是由用户或应用程序自身负责对版本做限制。
Android系统根据其manifest文件中minSdkVersion属性进行版本兼容性检查。这允许一个应用程序指定兼容的最小系统API版本。
例如设置应用程序版本号,需要在应用程序的manifest文件中定义应用程序版本信息。其中有两个必须同时定义的属性:
第一个:android:versionCode其值为整型,表示应用程序代码的版本,因此其他应用程序可以在程序编码中判断它来检查升级或降级关系。这个属性可以设置任何值,只要确保每一个后续发布的应用程序使用更大的值。每个后续版本使用增加的数字值是标准作法。典型的做法是你发布的第一个版本的versionCode为1,以后的每个发布版本单调递增,而不管这个发布版本是否是一个主要或者次要的发布版本(说明:我们当前采用的既是此方式)。这也表明android:versionCode 值没有必要与用户可见的应用程序发布版本号有特别的相似之处,同时应用程序也没有必要将此版本值呈现给用户。
第二个:android:versionName其值为字符串,主要向用户显示应用程序代码的发布版本号。 此值是一个字符串,因此可以用任何其他类型的绝对或相对版本号标识的形式。相对于 android:versionCode,除了让应用程序向用户显示它以外,系统的其他地方没有用到此值。
应用发布平台可能会将android:versionName 值解析出来显示给用户, 可以在manifest文件的<manifest>元素中同时定义这些个版本相关属性。
例如下形式:
<?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>
上述代码说明: android:versionCode 值显示当前的.apk包含了应用程序代码的第二个发布版本,android:versionName字符串表现的是一个小的后继发布版本。
注:参考文章来源http://blog.youkuaiyun.com/kjianjun/article/details/6905723