android应用程序版本管理

一、版本的主要功能说明

在应用程序的升级、维护策略中,版本是一个关键的组成部分,主要体现在以下几个方面中:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值