在 build.gradle(Module :app) 檔案裡,可以在 defaultConfig {}
區塊找到 versionCode
、 versionName
的屬性。範例如下:
build.gradle(Module :app) 檔案
android {
...
defaultConfig {
applicationId "com.my.work"
minSdk 29
targetSdk 33
versionCode 1
versionName "1.0"
}
}
versionCode
是 Google Play 商店用來判斷所送審的版本是否有大於既有已發佈版本的依據。
versionName
就僅是一個自訂的(版本號碼)字串。也是在 Google Play 商店對使用者可見的版本號碼。
官方文件的範例中,versionCode
是從數字 1 開始編製。
但在開發過程中,我們常會用到 flavor 來管理產品,像是發佈版(product/release)、可發佈的候選版本(rc, release candidate)、開發分支中的某個穩定版本(stage)、開發中的版本(dev)等等。
最近比較常碰到的一個場景是,在交付給測試人員時,要讓他們區分不同時間構建出的版本。解決方法就會使用 Gradle 的自訂腳本生成 versionCode
。像是以 b1
(beta 第 1 版)的後綴字串、版本號碼尾數處理,讓測試人員能立刻瞭解目前測試的版本,以及可以在實機上連續安裝 App 而不會混淆不同的版本。
資料來源
Google for Developers - 管理應用程式版本
Barry - Auto rename Android versionName (by creating custom Gradle Plugin)
Manas Tungare - Manage your Android app’s versionCode & versionName with Gradle
Ray Yuan Liou - 自動產生 VersionCode 與 VersionName