標籤:
轉載請註明出處http://blog.csdn.net/y150481863/article/details/41249159,來自【http://blog.csdn.net/y150481863】
當我們在剛開始學習Android的時候,可能不會過多的關注這個位於manifest.xml檔案中的versionCode和versionName。
但是其實一個好的版本控制,對於我們有至關重要的作用。
現在打算寫一點基礎的東西,突然想到這個知識點,所以就記錄下來,作為筆記。有不夠詳盡或者錯誤的地方歡迎指教。
版本控制對於發布新版本和開發中的版本維護有著關鍵性的作用,版本控制之所以重要的原因如下:
1.使用者在安裝APP的時候需要知道詳細的版本資訊,並且在對已有版本進行升級的時候,能否正確安裝新版本都和版本控制有關。
比如:當手機中安裝APP的versionCode=1,升級更新的版本號碼是2(versionCode=2),此時APP可以正常安裝更新。反之,如果手機中當前APP版本號碼是2,升級的或者從其他渠道擷取的同一APP的版本號碼為1,此時替換安裝就會失敗。
這種情況就是說,同一個APP低版本是不能直接覆蓋安裝手機中已存在的高版本應用(通過版本號碼(versionCode)來判斷)。
這樣就給我們在應用升級維護過程中,提高了軟體的可維護性和安全性。
2.對於其他應用想要搜尋或者調用指定版本號碼和版本名稱的應用來說,有了可靠的保證。
當我們發布在市場上有多個版本的APP的時候,比如不同版本對應不同型號的終端,這時我們可以通過版本控制來找到適合的APP。
3.對於我們自己的版本更新系統或者第三方的APP市場,也通過版本號碼和版本名稱來找到和使用者終端裝置或者終端應用相匹配的APP展示給使用者。對於第三方APP市場來說,這個 版本更為關鍵的是,決定對使用者下載下來之後的相容性判斷起到一定管控作用。
所以版本控制不能忽視,我們可以通過有效版本控制來管控我們發布到市場的應用,以便得到更好的使用者體驗。
怎麼去設定你的應用的版本號碼和版本名稱,下面做一個簡單的介紹。
VersionCode ------- 根據上面的描述,版本號碼(versioncode)是相對比較重要的一個屬性。versionCode是一個Integer類型的值。所以大家在設定的時候,不要將versionCode設定的太大,最好不要超過Integer的取值範圍(當然一般也是不會超過的),一般大家在發布自己的第一個應用到市場的時候,版本取值為1(versionCode=1),這也是目前典型和普遍的做法。然後,每次發布更新版本時可以遞增versionCode的值。上面描述版本控制重要性時也描述過,一個新版本的應用的versionCode不能小於之前舊版本的versionCode值,否則進行替換更新升級時會出錯,系統提示無法安裝。當然,這也不是強制的,只是正式發布應用時,建議必須考慮的問題。 VersionName ------ 這是一個值為String類型的屬性,一般和VersionCode成對出現。VersionCode是方便程式開發人員運行和維護Application而設定的一個有效值。versionName是一個版本的描述,給使用者看的,也是使用者放在各個第3方平台上提供給使用者看的一個版本名,可以說是對VersionCode的解釋和描述。一般格式可以為:1.1.2(major.minor.point)的形式。 下面是一個Manifest.xml檔案範例:
以上代碼錶示當前.apk是第二個版本,通過versionName值1.1可以看出此版本是在1.0版本上的一個最佳化改造版本,區別和1.0版本不大。如果是一個UI風格或者商務邏輯有較大調整的應用,版本一般會升一個層級,比如應該定義為2.0
- major是主要版本號,一般在軟體有重大升級時增長
- minor是次版本號碼,一般在軟體有新功能時增長
- maintenance是維護版本,一般在軟體有主要的問題修複後增長
- build是構建版本,一般只要軟體被重新編譯過就會增長
ANDROID版本號碼和版本名稱的重要性介紹