转载请注明出处http://blog.csdn.net/y150481863/article/details/41249159,来自【http://blog.csdn.net/y150481863

当我们在刚開始学习ANDROID的时候。可能不会过多的关注这个位于manifest.xml文件里的versionCode和versionName。

可是事实上一个好的版本号控制,对于我们有至关关键的数据。

如今打算写一点基础的东西。突然想到这个知识点,所以就记录下来,作为笔记。有不够详尽或者错误的地方欢迎不吝赐教。


版本号控制对于公布新版本号和开发中的版本号维护有着关键性的作用,版本号控制之所以重要的原因例如以下:

1.用户在安装APP的时候须要知道具体的版本号信息,而且在对已有版本号进行升级的时候。是否能正确安装新版本号都和版本号控制有关。

   比方:当手机中安装APP的versionCode=1,升级更新的版本是2(versionCode=2),此时APP能够正常安装更新。

反之,假设手机中当前APP版本是2,升级的或者从其它渠道获取的同一APP的版本为1。此时替换安装就会失败。

    这样的情况就是说,同一个APP低版本号是不能直接覆盖安装手机中已存在的高版本号应用(通过版本号号(versionCode)来推断)。

    这样就给我们在应用升级维护过程中,提高了软件的可维护性和安全性。

2.对于其它应用想要搜索或者调用指定版本号号和版本号名称的应用来说,有了可靠的保证。

    当我们公布在市场上有多个版本号的APP的时候,比方不同版本号相应不同型号的终端。这时我们能够通过版本号控制来找到适合的APP。

3.对于我们自己的版本号更新系统或者第三方的APP市场。也通过版本号号和版本号名称来找到和用户终端设备或者终端应用相匹配的APP展示给用户。对于第三方APP市场来说,这个  版本号更为关键的是,决定对用户下载下来之后的兼容性推断起到一定管控作用。

    所以版本号控制不能忽视,我们能够通过有效的版本号控制来管控我们公布到市场的应用,以便得到更好的用户体验。

微笑




怎么去设置你的应用的版本号号和版本号名称,以下做一个简单的介绍。
VersionCode -------  依据上面的描写叙述,版本号号(versioncode)是相对照较重要的一个属性。versionCode是一个Integer类型的值。所以大家在设置的时候,不要将versionCode设置的太大,最好不要超过Integer的取值范围(当然一般也是不会超过的),一般大家在公布自己的第一个应用到市场的时候,版本号取值为1(versionCode=1),这也是眼下典型和普遍的做法。
然后,每次公布更新版本号时能够递增versionCode的值。上面描写叙述版本号控制重要性时也描写叙述过,一个新版本号的应用的versionCode不能小于之前旧版本号的versionCode值,否则进行替换更新升级时会出错。系统提示无法安装。当然。这也不是强制的,仅仅是正式公布应用时,建议必须考虑的问题。

VersionName ------ 这是一个值为String类型的属性,一般和VersionCode成对出现。VersionCode是方便程序开发人员执行和维护Application而设置的一个有效的值。

versionName是一个版本号的描写叙述,给用户看的。也是用户放在各个第3方平台上提供给使用者看的一个版本号名,能够说是对VersionCode的解释和描写叙述。一般格式能够为:1.1.2(major.minor.point)的形式。


以下是一个Manifest.xml文件例子:


Manifest.xml
以上代码表示当前.apk是第二个版本号。通过versionName值1.1能够看出此版本号是在1.0版本号上的一个优化改造版本号,差别和1.0版本号不大。

假设是一个UI风格或者业务逻辑有较大调整的应用,版本号通常会升一个级别,比方应该定义为2.0






posted on 2017-05-09 11:34  lxjshuju  阅读(591)  评论(0编辑  收藏  举报