A. app版本是什麼概念
版本號(version number)是版本的標識號。每一個操作系統(或廣義的講,每一個軟體)都有一個版本號,有些童鞋對於版本號的定義規則或者當前版本號代表什麼意思,升級開源庫或者設置版本號應該規避那些問題可能只有一些模糊的概念,因此大概的描述下關於版本號定義的基礎知識.
版本控制比較普遍的三種命名格式
GNU 風格的版本號命名格式
主版本號 . 次版本號 [. 修正版本號 [. 編譯版本號 ]]
示例 : 1.2.1, 2.0, 5.0.0 build-13124
Windows 風格的版本號命名格式 :
主版本號 . 次版本號 [ 修正版本號 [. 編譯版本號 ]]
示例: 1.21, 2.0
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的修復),不會出現兼容問題,主版本增加了不兼容舊版本的修改