首先让我们熟悉下Android版本相关的一些概念,Android应用程序中的 versionCode(版本号) :对用户不可见,仅用于应用程序内部版本识别和版本升级; versionName(版本名) :正确的叫法应该是版本名称,即用户所说的“版本号”,对用户是可见的,方便用户识别和判断新旧版本。下文中有关APP“版本号”的使用,指的是APP的versionName ,更新APP版本需要注意几个问题: 1、如何命名 versionCode 和 versionName ? 2、如何迭代命名更新后的 versionCode 和 versionName ? 3、更新 versionCode ,未更新 versionName 会怎么样? 4、更新了一个带bug的版本如何撤销? 5、发布了一个写错的 versionCode 和 versionName 咋办? 二、如何命名 versionCode 和 versionNameAndroid应用程序的 versionCode 、 versionName 定义在AndroidManifest.xml或build.gradle文件里面,打包签名相同的情况下文件高版本APP会覆盖低版本的APP,安装成功;反之低版本APP无法覆盖高版本APP,提示安装失败;这里所说的高低版本指的是 versionCode 的值, versionCode 是一个整型参数, versionName 是一个字符串参数,应用程序的版本更新和版本识别就是通过 versionCode 的值判断的,所以 versionCode 的命名必须是一个增量曲线,版本只能升,不能降。发布的第一个测试版, versionCode 命名为1,发布的第一个正式版, versionCode 命名为2; versionName 的命令规则:主版本号.次版本号.修订版本号,发布的第一个测试版, versionName 命名为1.0,发布的第一个正式版, versionName 也命名为1.0。 主版本号:功能模块有大的变动,比如增加多个模块或者整体架构发生变化。 次版本号:和主版本相对而言,次版本号的升级对应的只是局部的变动。但该局部的变动造成了程序和以前版本不能兼容,或者对该程序以前的协作关系产生了破坏,或者是功能上有大的改进或增强。 修订版本号:局部的变动,主要是局部函数的功能改进,或者bug的修正,或者功能的扩充。 三、更新 versionCode ,未更新 versionName 会怎么样?当您调整Android Project部分代码后,重新打包一个版本发布,修改了 versionCode ,未修改 versionName ,打包发布到应用市场后,旧版本的APP收到应用市场推送更新的提示,看到提示后用户会有点蒙了,比如:当前版本1.1.2,修改 versionCode后的版本也是1.1.2,用户就分不清楚为啥 versionName 一样的两个版本提示更新操作?这可能会误导用户,最好的解决办法,发布任何一个新版本时,修改 versionCode 的同时别忘了修改 versionName ,保持 versionCode 和 versionName 同时增长。 四、更新了一个带bug的版本如何撤销?在应用市场发布了一个存在bug的应用程序,同时部分用户已经更新了该版本,如果仅仅撤销新版本下载安装,回滚到是一个版本无法解决根本问题,已安装的用户因为bug使用不了。这个时候,软件开发工程师需要立即解决bug问题,然后同时更新 versionCode 和 versionName ,发布一个更高版本的APP,那么已安装的或未安装的用户都提示安装新版本,安装了bug版本的用户必须更新到修复版本才可以使用,这是发布一个bug版本的一些建议。 五、发布了一个写错的 versionCode 和 versionName 咋办?程序员修改 versionName 的时候,不小心将 versionName 的值1.1.21的 versionCode 写成了1121,更新下一个版本 versionName 的值1.1.3的 versionCode 写成113,发现更新的版本113无法成功安装,覆盖旧版本失败。这个时候只能够将113改成大于1121的值,重新打包发布,保证已安装和未安装的用户都可以成功安装更新版本。建议写好一个版本控制的文档,使用记事本记录所有更新的版本号和版本名称,以及即将使用的版本号和版本名称,保证 versionCode 和 versionName 准确无误,通常测试版本的 versionCode 写成奇数字,比如:1,表示测试版本;发布版本写成偶数字,比如:2,表示发布版本, versionName 有三部分组成:主版本号、次版本号和修订版编号。主版本号改动比较少除非APP功能模块有较大变动,次版本号在APP局部功能改动的情况下变动,比如:调整主界面布局,通常修改更多的是修订版本号,比如:修改bug或增加每个功能。 (责任编辑:最模板) |