android开发中关于VersionCode和VersionName
- VersionCode:对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途。
- VersionName:展示给消费者,消费者会通过它认知自己安装的版本,下文提到的版本号都是说VersionName。
- 同一个版本号,对应了多个VersionCode怎么办
- 发布了一个VersionCode错误的版本怎么办
- 发出去的应用有Bug要换回旧版,怎么操作?
- VersionCode:对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途。
- VersionName:展示给消费者,消费者会通过它认知自己安装的版本。一般我们说的版本号就是这个。
- 可能遇到的问题:如果这个新版只在部分商店上线,就会出现都是3.1版,A商店的版本其实比B商店的新。已经安装了新版本的用户,还会被提示升级,这时候用户会困扰,为什么我装了3.1还要升级到3.1?部分商店为了最新会抓包,导致渠道包流窜,影响运营监控和分析。
- 解决方案:a.版本号应该和VersionCode一起涨,而且一旦发布新版本,就在所有渠道上架新版。
- 可能遇到的问题:1.1.1.27版的用户将无法获得1.1.2版本的升级,因为在程序看来1.1.1.27版本是比较新的,同时,已经使用了1.1.2版本的用户,可能会收到旧版本的升级提示,比并降级回旧版
- 解决方案:其实很简单,因为VersionCode对最终用户是不可见的,只要增加就好了,上文的例子,新版VersionCode直接取11200就齐活了。
- 可能遇到的问题:已经升级到有Bug版本的用户是无法回滚到旧版的,因此这样直接退回旧版本的方式对这些热心升级的用户是非常不负责任的。而且人肉召回的力度实在有限,这个有Bug的版本一定会流传的。
- 解决方案:最好是不要浪费时间退回旧版,赶紧修复Bug发个新版本(记得加VersionCode),如果Bug比较棘手,暂时无法修复,只能退回旧版本,这时建议把旧版本的VersionCode改大一些后,提交新版本,这样可以保证所有用户都能下载/升级到一个相对可靠的版本。
android开发中关于VersionCode和VersionName的更多相关文章
- Android Studio 中修改versionCode跟versionName
在Android Studio 中修改versionCode 跟versionName最写了一个新版的软件准备发布到应用平台上,但是versionCode和versionName的值一直修改不成功,在 ...
- Android学习探索之Java 8 在Android 开发中的应用
前言: Java 8推出已经将近2年多了,引入很多革命性变化,加入了函数式编程的特征,使基于行为的编程成为可能,同时减化了各种设计模式的实现方式,是Java有史以来最重要的更新.但是Android上, ...
- java中的反射机制在Android开发中的用处
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反 ...
- Android开发中SharedPreferences的使用
在Android开发中,在储存少量的数据时,个人感觉SharedPreferences是最好的选择,SharedPreferences是以键值对的方式进行储存,支持boolean,int,float, ...
- android开发中fragment获取context
在用到fragment时无法使用.this来指定当前context内容,android开发中fragment获取context,可以使用getActivity().getApplicationCont ...
- Android开发中的输入合法性检验
Why ? 合法性检查对于程序的健壮性具有重要作用.在Android开发中,良好的合法性检查设计机制可以使程序更加清晰,产生bug更少,交互更加友好. What ? 合法性检查的目的在于确定边界.对于 ...
- 在android开发中使用multdex的方法-IT蓝豹为你整理
Android系统在安装应用时,往往需要优化Dex,而由于处理工具DexOpt对id数目的限制,导致其处理的数目不能超过65536个,因此在Android开发中,需要使用到MultiDex来解决这个问 ...
- 怎样实现了捕获应用中的日志在android开发中
怎样实现了捕获应用中的日志在android开发中,大家可研究一下. Process mLogcatProc = null; BufferedReader reader = null; try { mL ...
- Android开发中Eclispe相关问题及相应解决(持续更新)
1.Eclipse项目中的Android Private Libraries没有自动生成. 一般而言,在Android开发中,项目中引用到的jar包会放到项目目录中的libs中,引入库会放到Andro ...
随机推荐
- Heritrix源码分析(一) 包介绍(转)
本博客属原创文章,欢迎转载!但转载请务必注明出处:http://guoyunsky.iteye.com/blog/613249 本博客已迁移到本人独立博客: http://www.yun5u.com/ ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 格式化输出星期几 C#
string Today = DateTime.Now.ToString("yyyy-MM-dd dddd",new System.Globalization.CultureInf ...
- 通过反射执行get、set方法
Class clazz = sourceObj.getClass(); 1.获取所有属性 BeanInfo beanInfo = Introspector.getBeanInfo(clazz); Pr ...
- jquery ajax jsonp跨域调用实例代码
今天研究了AJAX使用JSONP进行跨域调用的方法,发现使用GET方式和POST方式都可以进行跨域调用,这里简单分享下,方便需要的朋友 客户端代码 复制代码 代码如下: <%@ Page Lan ...
- PHP 截取字符串专题
1. 截取GB2312中文字符串 < ?php//截取中文字符串function mysubstr($str, $start, $len) { $tmpstr = "" ...
- JAVA遍历一个文件夹中的所有文件
在实际项目中给定一文件夹,得到这个文件夹下所有的文件这样的需求并不是很多,更多的是查找或是删除某一具体的文件 import java.io.File; import java.util.ArrayLi ...
- 【转】linux mknod命令解析
转自:http://www.cnblogs.com/cobbliu/archive/2011/07/05/2389014.html 个人觉得linux的软件设计思想异常强大,比如把所有的设备都当做文件 ...
- Java 断点调试总结
为了准备调试,你需要在代码中设置一个断点先,以便让调试器暂停执行允许你调试,否则,程序会从头执行到尾,你就没有机会调试了. 1. 条件断点 断点大家都比较熟悉,在Eclipse Java 编辑区的行头 ...
- 使用U盘安装win7系统,遇到“无法定位现有系统分区”问题
朋友的本子貌似因为安装360wifi而导致一进入系统就蓝屏重启,虽然之后就卸载了360wifi,但是问题依旧,上网Google了一下,发觉网上不少网友诉苦,也有人分析原因,说是因为360wifi导致了 ...