转载请注明出处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文件例子:


watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveTE1MDQ4MTg2Mw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

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

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







ANDROID版本号号和版本号名称的重要性介绍的更多相关文章

  1. aapt命令获取apk具体信息(包名、版本号号、版本号名称、兼容api级别、启动Activity等)

    aapt命令获取apk具体信息(包名.版本号号.版本号名称.兼容api级别.启动Activity等) 第一步:找到aapt 找到sdk的根文件夹,然后找到build-tools文件夹.然后会看到一些b ...

  2. ANDROID版本号和版本名称的重要性介绍

    当我们在刚开始学习ANDROID的时候,可能不会过多的关注这个位于manifest.xml文件中的versionCode和versionName. 但是其实一个好的版本控制,对于我们有至关重要的作用. ...

  3. android获取当前软件版本号号和版本号名称

    <span style="font-size:18px;">/** * 获取本地软件版本号 */ public static int getLocalVersion(C ...

  4. 使用Android Studio 1.3 版本号进行NDK开发

    众所周知Android Studio 1.3 版本号新增了NDK支持,能够非常方便的在上面开发C++或者C代码了,但是预览版功能不是非常完好,须要非常多步骤,另一些奇怪的BUG,整了半天最终能够使用A ...

  5. android studio 更新Gradle版本号方法

    在导入其它项目时,常常因为gradle版本号不一致而导致不能编译 解决方法: 第一步: 按提示点击让它下载.事实上目的并非要它下载.因为这样速度会非常慢.这样做仅仅是为了让它在本地创建相应的文件夹结构 ...

  6. VS 生成 dll、exe 版本号与SVN版本号一致

    1.VS 可自动生成版本号 注释掉以下两行代码 [assembly: AssemblyVersion("1.0.0.0")][assembly: AssemblyFileVersi ...

  7. 好纠结啊,JeeWx商业版本号和开源版本号有什么差别呢?

    好纠结啊,JeeWx商业版本号和开源版本号有什么差别呢? JeeWx开源版本号是一套基础微信开发平台.有基础的微信菜单.素材管理.微信对接等基础功能,适合于开发人员学习研究. JeeWx商业版本号是一 ...

  8. 在VS项目中通过GIT生成版本号作为编译版本号

    上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...

  9. RedHat/CentOS发行版本号及内核版本号对照表

    RedHat/CentOS发行版本号及内核版本号对照表 : Redhat 9.0———————————————2.4.20-8RHEL 3 Update 8————————————2.4.21-47R ...

随机推荐

  1. Android并发编程

    Android的并发编程,即多线程开发,而Android的多线程开发模型也是源于Java中的多线程模型.所以本篇也会先讲一些Java中的多线程理念,再讲解具体涉及的类,最后深入Android中的并发场 ...

  2. Android学Jni/Ndk 开发记录(一)

      治疗拖延症的唯一办法就是:一想起些什么 / 要做些什么就 TM 立马去做! 是的,突然想起我不会 JNI.NDK 开发.解决办法:立马去学! 一:配置 NDK 环境 下载 NDK 写入到配置文件 ...

  3. IOS设置UIView的边框为圆角

    iOS 系统自带的 View 组件都是正方形的,看起来都太生硬,有时候我需要变成圆角形式,如下图:    具体的实现是使用QuartzCore库,下面我具体的描述一下实现过程:    •    首先 ...

  4. hdu1013(C++)

    9的余数定理:一个数各位数字的总和除以9的余数与它本身除以9的余数同等 大数问题:防止大数,用字符串来存入数据,再转化为数字 #include<iostream>#include<s ...

  5. 在ubuntu12.04中安装wine和source insight

    1.安装wine sudo apt-get install wine 2.安装source insight 将source insight安装的可运行文件拷贝到ubuntu中.我拷贝到了~/Deskt ...

  6. 让用VS2012/VS2013编写的程序在XP中顺利执行

    微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序仅仅能在Vista/Win7/Win8上执行.但幸好还保留了生成XP程序的设置项.XP和Win2003的用户还是大量存在的,我们 ...

  7. ES,ZK,Mysql相关参数优化

    1.ES 内存调优: vi config/jvm.options -Xms16g -Xmx16g 2.Zookeeper参数配置调优 2.1\在conf目录下 vi java.env export J ...

  8. Java三大器之监听器(Listener)的工作原理和代码演示

    现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动而启动,只初始化一次, ...

  9. web.py

    #-*- coding:utf-8 -*- import web import json import requests #from web.contrib.template import rende ...

  10. FolderBrowserDialog 关于设置为单线程单元(STA)模式的问题

    当Main函数是这样的状态的时候,当打开FolderBrowserDialog控件的时候 ,报错 这里有两种解决办法,第一种,就是把main 上加[STAThread] 第二种是启用一个线程 Thre ...