將版本遷移至版本目錄

Gradle 版本目錄 可讓您以可擴充的方式新增及維護依附元件和外掛程式。 使用 Gradle 版本目錄可讓您更輕鬆地管理依附元件和外掛程式 如果您擁有多個模組與其透過硬式編碼 個別建構檔案中的依附元件名稱和版本,並逐一更新 每當需要升級依附元件時 各種模組可參照的依附元件版本目錄 還能在 Android Studio 的協助下實現類型安全

您可以透過本頁提供的基本資訊,瞭解如何將 Android 應用程式遷移至 版本目錄詳情請參閱: 新增建構依附元件和 Gradle 說明文件。

建立版本目錄檔案

首先,我們來建立版本目錄檔案。在根專案的 gradle 中 資料夾,建立名為 libs.versions.toml 的檔案。Gradle 會搜尋目錄 預設存取 libs.versions.toml 檔案中 建議您使用這個預設名稱

在您的 libs.versions.toml 檔案中新增以下區段:

[versions]

[libraries]

[plugins]

這些區段的用途如下:

  • versions 區塊中,定義保留相關版本的變數 依附元件和外掛程式您可以在後續區塊中使用這些變數 (librariesplugins 區塊)。
  • libraries 區塊中定義依附元件。
  • plugins 區塊中定義外掛程式。

遷移步驟

建議您依照所列出的順序執行以下步驟。建構作業可以使用 同時從建構指令碼和目錄擷取依附元件和外掛程式 建議您花一些時間逐一遷移依附元件和外掛程式。

遷移程序如下:

  1. 將新項目新增至目錄。
  2. 同步處理 Android 專案。
  3. 將先前的字串宣告替換為目錄類型安全存取子。

遷移依附元件

versionslibraries 區段中,為每個依附元件都新增一個項目 libs.versions.toml檔案中的同步處理專案,然後替換 宣告的方式和目錄名稱相同。

以下是 build.gradle.kts 檔案,在移除 依附元件:

Kotlin

dependencies {
    implementation("androidx.core:core-ktx:1.9.0")

}

Groovy

dependencies {
    implementation 'androidx.core:core-ktx:1.9.0'

}

下列程式碼片段說明如何在版本中定義依附元件 目錄檔案:

[versions]
ktx = "1.9.0"

[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }

為目錄中的依附元件區塊命名時,建議採用烤肉串式命名法 (例如 androidx-ktx) 以取得更優質的服務 程式碼補全協助

在需要依附元件的每個模組的 build.gradle.kts 檔案中, 以 TOML 檔案中定義的名稱定義依附元件。

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Groovy

dependencies {
   implementation libs.androidx.ktx

}

遷移外掛程式

libs.versions.toml 檔案。同步處理專案,然後替換 在建構檔案中 plugins{} 區塊和其目錄的宣告 。

以下是 build.gradle.kts 檔案,在移除 外掛程式:

Kotlin

// Top-level `build.gradle.kts` file
plugins {
   id("com.android.application") version "7.4.1" apply false

}

// Module-level `build.gradle.kts` file
plugins {
   id("com.android.application")

}

Groovy

// Top-level `build.gradle` file
plugins {
   id 'com.android.application' version '7.4.1' apply false

}

// Module-level `build.gradle` file
plugins {
   id 'com.android.application'

}

下列程式碼片段說明如何在版本目錄檔案中定義外掛程式:

[versions]
androidGradlePlugin = "7.4.1"

[plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

和依附元件一樣,plugins 區塊目錄的建議格式 項目屬於烤肉串 (例如 android-application),最好 程式碼補全協助

下列程式碼顯示如何在 中定義 com.android.application 外掛程式 頂層和模組層級的 build.gradle.kts 檔案使用 alias 做為外掛程式 來自版本目錄檔案,id 則適用於其他沒有的外掛程式 複製到版本目錄檔案中 慣例外掛程式

Kotlin

// Top-level build.gradle.kts
plugins {
   alias(libs.plugins.android.application) apply false

}

// module build.gradle.kts
plugins {
   alias(libs.plugins.android.application)

}

Groovy

// Top-level build.gradle
plugins {
   alias libs.plugins.android.application apply false

}

// module build.gradle
plugins {
   alias libs.plugins.android.application

}

瞭解詳情

如要進一步瞭解設定版本目錄的其他方式,請參閱 這些資源:

已知問題

Gradle 版本目錄仍處於開發階段。如要進一步瞭解 目前不支援的功能,請參閱 已知問題和限制