Di chuyển bản dựng sang danh mục phiên bản

Danh mục phiên bản Gradle cho phép bạn thêm và duy trì các phần phụ thuộc cũng như trình bổ trợ theo cách có thể mở rộng. Khi sử dụng danh mục phiên bản Gradle, bạn có thể quản lý các phần phụ thuộc và trình bổ trợ một cách dễ dàng hơn nếu có nhiều mô-đun. Thay vì phải mã hoá cứng tên và phiên bản phần phụ thuộc trong từng tệp bản dựng, cũng như phải cập nhật từng mục nhập mỗi khi cần nâng cấp một phần phụ thuộc, bạn có thể tạo một danh mục phiên bản tập trung bao gồm các phần phụ thuộc mà nhiều mô-đun có thể tham chiếu theo cách an toàn về loại, với sự hỗ trợ của Android Studio.

Trang này cung cấp thông tin cơ bản về cách di chuyển ứng dụng Android sang danh mục phiên bản. Để tìm hiểu thêm, hãy xem nội dung Thêm phần phụ thuộc của bản dựng và tài liệu về Gradle.

Tạo tệp danh mục phiên bản

Hãy bắt đầu bằng cách tạo một tệp danh mục phiên bản. Trong thư mục gradle của dự án gốc, hãy tạo một tệp có tên là libs.versions.toml. Gradle sẽ tìm danh mục trong tệp libs.versions.toml theo mặc định. Vì vậy, bạn nên sử dụng tên mặc định này.

Trong tệp libs.versions.toml, hãy thêm các phần sau:

[versions]

[libraries]

[plugins]

Các phần này được sử dụng như sau:

  • Trong khối versions, hãy xác định các biến chứa phiên bản của các phần phụ thuộc và trình bổ trợ của bạn. Bạn sẽ sử dụng những biến này trong các khối tiếp theo (khối libraries và khối plugins).
  • Trong khối libraries, hãy xác định các phần phụ thuộc.
  • Trong khối plugins, hãy xác định các trình bổ trợ.

Các bước di chuyển

Bạn nên thực hiện các bước theo thứ tự đã nêu. Một bản dựng có thể sử dụng đồng thời các phần phụ thuộc và trình bổ trợ trong các tập lệnh cũng như danh mục bản dựng, vì vậy, hãy dành thời gian để di chuyển từng phần phụ thuộc và trình bổ trợ.

Quá trình di chuyển được thực hiện như sau:

  1. Thêm mục nhập mới vào danh mục.
  2. Đồng bộ hoá dự án Android.
  3. Thay thế thông tin khai báo chuỗi trước đó bằng trình truy cập an toàn về loại của danh mục.

Di chuyển phần phụ thuộc

Thêm một mục nhập cho từng phần phụ thuộc trong cả phần versions và phần libraries của tệp libs.versions.toml. Đồng bộ hoá dự án của bạn, sau đó thay thế thông tin khai báo của dự án trong tệp bản dựng bằng tên danh mục của dự án.

Đoạn mã này cho thấy tệp build.gradle.kts trước khi xoá phần phụ thuộc:

Kotlin

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

}

Groovy

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

}

Đoạn mã này cho thấy cách xác định phần phụ thuộc trong tệp danh mục phiên bản:

[versions]
ktx = "1.9.0"

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

Bạn nên sử dụng định dạng kebab case (chẳng hạn như androidx-ktx) để đặt tên cho khối phần phụ thuộc trong danh mục nhằm hỗ trợ hoàn thành mã tốt hơn trong tệp bản dựng.

Trong tệp build.gradle.kts của từng mô-đun yêu cầu phần phụ thuộc, hãy xác định các phần phụ thuộc theo tên mà bạn đã xác định trong tệp TOML.

Kotlin

dependencies {
   implementation(libs.androidx.ktx)

}

Groovy

dependencies {
   implementation libs.androidx.ktx

}

Di chuyển trình bổ trợ

Thêm một mục nhập cho từng trình bổ trợ trong cả phần phiên bản và phần trình bổ trợ của tệp libs.versions.toml. Đồng bộ hoá dự án của bạn, sau đó thay thế thông tin khai báo của dự án trong khối plugins{} trong tệp bản dựng bằng tên danh mục của dự án.

Đoạn mã này cho thấy tệp build.gradle.kts trước khi xoá trình bổ trợ:

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'

}

Đoạn mã này cho thấy cách xác định trình bổ trợ trong tệp danh mục phiên bản:

[versions]
androidGradlePlugin = "7.4.1"

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

Tương tự như đối với phần phụ thuộc, bạn nên sử dụng định dạng kebab case (chẳng hạn như android-application) đối với các mục nhập danh mục của khối plugins nhằm hỗ trợ hoàn thành mã tốt hơn trong tệp bản dựng.

Mã sau đây cho thấy cách xác định trình bổ trợ com.android.application trong các tệp build.gradle.kts ở cấp cao nhất và cấp mô-đun. Hãy sử dụng alias cho các trình bổ trợ thuộc tệp danh mục phiên bản và sử dụng id cho các trình bổ trợ không thuộc tệp danh mục phiên bản, chẳng hạn như trình bổ trợ quy ước.

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

}

Tìm hiểu thêm

Để tìm hiểu về các tuỳ chọn bổ sung giúp định cấu hình danh mục phiên bản, hãy xem các tài nguyên sau:

Vấn đề đã biết

Danh mục phiên bản Gradle vẫn đang trong quá trình phát triển. Để biết thêm thông tin về những khía cạnh chưa được hỗ trợ, hãy xem phần các vấn đề và hạn chế đã biết.