夏眠鱼

Dec 17, 2016

项目发布规范

版本名称

alpha
该版本表示该软件仅仅是一个初步完成品,通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员。一般而言,该版本软件的 bug 较多,普通用户最好不要安装。

beta
该版本相对于 alpha 版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布,用户可从相关的站点下载。通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改。该版本也不适合一般用户安装。

release
该版本意味「最终释放版」,在出了一系列的测试版之后,终归会有一个正式版本,对于用户而言,购买该版本的软件绝对不会错。该版本有时也称为标准版。

versionCode & versionName

versionCode
类型:MAXINT(2e31 = 2147483647)
作用:标识 App 内部版本,仅对开发人员可见

每次发布 release 版本时累加1,长度不能超过 MAXINT(2e31 = 2147483647),否则 App 将无法再升级。Android 中,不允许对 versionCode 做降级处理,否则覆盖安装失败。

versionName
类型:String
格式:<主版本号>.<子版本号>.<修订版本号>[.内部测试版本号]
作用:标识 App 版本,对用户可见,即应用商店上的版本

主版本号
进行了重大修改或局部修正累积较多,而导致项目整体发生全局变化时,主版本号加 1,子版本号和修订版本号复位为 0。

子版本号
增加了部分功能或同时修复上个版本 bug 时,子版本号加 1,修订版本号复位为 0。

修订版本号
针对上个版本修复 bug, 修订版本号加 1。

内部测试版本号
为方便测试人员识别每一次测试的版本,只在 alpha 期间显示该版本号。

安装包名称

alpha
语法: <appName>_<versionName>_<buildDate>_alpha.apk
示例: news_v2.1.2.2_2015-09-30_alpha.apk

beta
语法: <appName>_<versionName>_<buildDate>_beta.apk
示例: news_v2.1.1_2015-09-30_beta.apk

release

多渠道
语法: <appName>_<versionName>_<buildDate>_channelName.apk
示例: news_v2.1.1_2015-09-30_wandoujia.apk

非多渠道
语法: <appName>_<versionName>_<buildDate>_release.apk
示例: news_v2.1.1_2015-09-30_release.apk

发布前检查项

  • 服务器地址已改为正式?
  • 调试日志(含第三方SDK)已关闭?
  • 第三方SDK已授权正式版权限?
  • 支付宝、微信支付金额已改为正式价格?
  • 支付流程已跑通?
  • 签名已改为正式?
  • versionCodeversionName 已修改?
  • 安装包命名已修改?
  • 已做覆盖或升级安装测试?
  • 已通过测试人员测试?
OLDER > < NEWER