iT邦幫忙

2023 iThome 鐵人賽

DAY 30
0

在 build.gradle(Module :app) 檔案裡,可以在 defaultConfig {} 區塊找到 versionCodeversionName 的屬性。範例如下:

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


上一篇
[Day 29] jvmTarget 與 jvmToolchain
系列文
[Android] 怎麼蓋地基?論 build.gradle 與它的快樂夥伴們30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言