Android 版本命名規范

yangzb 8年前發布 | 13K 次閱讀 安卓開發 Android開發 移動開發

一、問題引出

首先讓我們熟悉下Android版本相關的一些概念,Android應用程序中的 versionCode(版本號) :對用戶不可見,僅用于應用程序內部版本識別和版本升級; versionName(版本名) :正確的叫法應該是版本名稱,即用戶所說的“版本號”,對用戶是可見的,方便用戶識別和判斷新舊版本。下文中有關APP“版本號”的使用,指的是APP的 versionName ,更新APP版本需要注意幾個問題:

1、如何命名 versionCode versionName

2、如何迭代命名更新后的 versionCode versionName

3、更新 versionCode ,未更新 versionName 會怎么樣?

4、更新了一個帶bug的版本如何撤銷?

5、發布了一個寫錯的 versionCode versionName 咋辦?

二、如何命名 versionCode 和 versionName

Android應用程序的 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或增加每個功能。

 

來自:http://www.jianshu.com/p/d73a1e8ca580

 

 本文由用戶 yangzb 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!