Gradle 版本目錄 可讓您以可擴充的方式新增及維護依附元件和外掛程式。 使用 Gradle 版本目錄可讓您更輕鬆地管理依附元件和外掛程式 如果您擁有多個模組與其透過硬式編碼 個別建構檔案中的依附元件名稱和版本,並逐一更新 每當需要升級依附元件時 各種模組可參照的依附元件版本目錄 還能在 Android Studio 的協助下實現類型安全
您可以透過本頁提供的基本資訊,瞭解如何將 Android 應用程式遷移至 版本目錄詳情請參閱: 新增建構依附元件和 Gradle 說明文件。
建立版本目錄檔案
首先,我們來建立版本目錄檔案。在根專案的 gradle
中
資料夾,建立名為 libs.versions.toml
的檔案。Gradle 會搜尋目錄
預設存取 libs.versions.toml
檔案中
建議您使用這個預設名稱
在您的 libs.versions.toml
檔案中新增以下區段:
[versions]
[libraries]
[plugins]
這些區段的用途如下:
- 在
versions
區塊中,定義保留相關版本的變數 依附元件和外掛程式您可以在後續區塊中使用這些變數 (libraries
和plugins
區塊)。 - 在
libraries
區塊中定義依附元件。 - 在
plugins
區塊中定義外掛程式。
遷移步驟
建議您依照所列出的順序執行以下步驟。建構作業可以使用 同時從建構指令碼和目錄擷取依附元件和外掛程式 建議您花一些時間逐一遷移依附元件和外掛程式。
遷移程序如下:
- 將新項目新增至目錄。
- 同步處理 Android 專案。
- 將先前的字串宣告替換為目錄類型安全存取子。
遷移依附元件
在 versions
和 libraries
區段中,為每個依附元件都新增一個項目
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 }
瞭解詳情
如要進一步瞭解設定版本目錄的其他方式,請參閱 這些資源:
- 版本目錄 TOML 檔案格式 用於設定目錄檔案的其他選項。
- Now in Android: 以及使用版本目錄的範例應用程式。
已知問題
Gradle 版本目錄仍處於開發階段。如要進一步瞭解 目前不支援的功能,請參閱 已知問題和限制。