转载请注明出处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文件样例:
以上代码表示当前.apk是第二个版本,通过versionName值1.1可以看出此版本是在1.0版本上的一个优化改造版本,区别和1.0版本不大。
如果是一个UI风格或者业务逻辑有较大调整的应用,版本一般会升一个级别,比如应该定义为2.0



ANDROID版本号和版本名称的重要性介绍相关推荐

  1. android 获得应版本号,Android获得本应用版本号和版本名称

    在开发Android应用时,有时候需要获取本应用的版本号和版本名称,比如应用升级的时候,一般是对比版本号,就是在Manifest.xml中看到VersionCode和VersionName 我这里是把 ...

  2. Android之获取版本号和版本名称

    安卓开发必不可少,需要获取展示版本信息.根据自己的需要,进行版本号.版本名称设置. Android Studio可以在build.gradle文件的中配置,或者在对应AndroidManifest.x ...

  3. android如何查看当前app的版本号,《android 获取当前app的版本号和版本名称》

    一.概念 apk打包之前根据自己的需要,进行版本号.版本名称设置.android studio 设置是于build.gradle文件的中设置. android{ defaultConfig { ver ...

  4. 安卓版本号及版本名称对照表

    因为经常要涉及到版本号的判断,经常记不住特来记录下供下次查阅 版本号判断代码: if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q){//> ...

  5. Android 获取App的版本号与版本名称的2中方法

    1 使用BuildConfig Log.e("-------版本名",BuildConfig.VERSION_NAME);Log.e("-------版本号", ...

  6. Android版本号和版本名对应关系

    API版本号 API版本名 Android版本名 版本中文名 32 S_V2 13 Tiramisu 提拉米苏 31 S 12 Snow Cone 雪锥 30 R 11 Red Velvet Cake ...

  7. android获取包版本,Android获取应用名称、版本号、应用包名称,移动设备ID、MAC地址、基站信息和手机型号等详细信...

    创建一个android应用(AndroidTest),所需权限如下(AndroidManifest.xml文件): 接下来是MainActivity.java文件: package com.examp ...

  8. Android各个版本名称与版本号对照表

    Android各个版本名称与版本号对照表

  9. Xamarin Android教程Android基本知识版本介绍与系统介绍

    Xamarin Android教程Android基本知识版本介绍与系统介绍 Xamarin Android教程Android基本知识版本介绍与系统介绍,开发Andriod有时候不像iOS一样轻松,因为 ...

最新文章

  1. 不到顶会现场也能听论文讲解?这个视频集合网站值得收藏
  2. vba手机号码归属_Android手机号码归属地的查询
  3. ct检查床的移动精度是指_炮塔铣床、数控铣床导轨平行度(扭曲)的检验
  4. 通用权限实现的核心设计思想
  5. Koa(1)之——koa入门
  6. hadoop学习3 查找块的位置
  7. k8s-service定义文件的各属性说明
  8. cck8graphpad作图_Graphpad Prism 的 4 个隐藏技能助你轻松发表 SCI
  9. java jdk1.8 jvm_JVM——Java内存模型 (JDK1.8)
  10. c++ struct与class
  11. Centos7安装hive
  12. 微软放弃WPF了?自定义控件库有前途
  13. CSS opacity - 实现图片半透明效果
  14. 机器学习(聚类八)——密度聚类
  15. 软磁材料和硬磁材料的区别
  16. fn映射 mac 键盘_fn键:Mac Fn组合按键功能与使用方法
  17. elementUI的 tree搜索过滤,可识别拼音,且不区分大小写
  18. Python--print(xx)内容为空,打印不出内容;原因是文件句柄对象在迭代后,对象内的数据会逐渐清空
  19. python类型转换方法_详解python中的类型转换方法
  20. SQL——子查询的概念及使用

热门文章

  1. of介词短语作定语_介词短语做什么成分
  2. 基于Java实现的GRE(美国研究生入学考试)学习系统
  3. Vue——第一节:初始Vue
  4. netopeer2开发(一)
  5. html5 自动扣图,5 秒实现自动抠图?见过 remove.bg 这款神器
  6. 主线科技拿下数亿元新融资,自动驾驶卡车迎来拐点
  7. 系统升级维护页面例子
  8. 【MyBatis-Plus】之批量插入
  9. DCMM数据管理能力成熟度标准介绍
  10. 【小白必胜-服务器】全网最简单Linux建站环境新手安装步骤