App版本号定义与说明基础知识

版本号(version number)是版本的标识号。每一个操作系统(或广义的讲,每一个软件)都有一个版本号,有些童鞋对于版本号的定义规则或者当前版本号代表什么意思,升级开源库或者设置版本号应该规避那些问题可能只有一些模糊的概念,因此大概的描述下关于版本号定义的基础知识.

版本控制比较普遍的三种命名格式

  1. GNU 风格的版本号命名格式

    主版本号 . 次版本号 [. 修正版本号 [. 编译版本号 ]]

    示例 : 1.2.1, 2.0, 5.0.0 build-13124

  2. Windows 风格的版本号命名格式 :

    主版本号 . 次版本号 [ 修正版本号 [. 编译版本号 ]]

    示例: 1.21, 2.0

  3. Net Framework 风格的版本号命名格式:

    主版本号.次版本号[.编译版本号[.修正版本号]]

    版本号由二至四个部分组成:主版本号、次版本号、内部版本号和修订号。主版本号和次版本号是必选 的;内部版本号和修订号是可选的,但是如果定义了修订号部分,则内部版本号就是必选的。所有定义的 部分都必须是大于或等于 0 的整数。

GNU版本说明

    版本格式:主版本号.次版本号.修订号,版本号递增规则如下:

    主版本号:当你做了不兼容的 API 修改

    次版本号:当你做了向下兼容的功能性新增

    修订号:当你做了向下兼容的问题修正

主版本号:

主版本代表不向下兼容的API的新增,在APP里表示大版本更新
项目开发初期在API不稳定的情况下,一般以0开始,表示该项目公共API不稳定,随时可能会变.
正式稳定版、APP第一版以1开始,当项目发生大的变化的时候主版本号++,次版本号以及修订号归零

次版本号:

次版本号标示做了兼容旧API的处理,在APP里表示在原有的基础上增加了部分功能时候++,修订号归零

修订号:

项目的bug修复以及小范围更改,APP同理

版本号规则说明

在平常开发的时候,我们会引用一些第三方的jar包或者compile一些开源的library,通过上述说明,我们可以根据引用的jar包、类库的版本号,适当的去升级.比如说引用一个第三方的库xxx-2.1,那我们在后期可以放心的使用>=2.1、<3.0之内所有版本更新,因为主版本号不变的情况下,只是修改了次版本号(向下兼容的修改和新增)、修订号(bug的修复),不会出现兼容问题,主版本增加了不兼容旧版本的修改

语义化版本说明

    原文作者:RuilyZhu
    原文地址: https://blog.csdn.net/ruilyzhu/article/details/50900711
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞