แคตตาล็อกเวอร์ชัน Gradle ช่วยให้คุณเพิ่มและดูแลรักษาทรัพยากร Dependency และปลั๊กอินในลักษณะที่ปรับขนาดได้ การใช้แคตตาล็อกเวอร์ชัน Gradle ช่วยให้จัดการทรัพยากร Dependency และปลั๊กอินได้ง่ายขึ้นเมื่อคุณมีหลายโมดูล แทนที่จะฮาร์ดโค้ดชื่อและเวอร์ชันของทรัพยากร Dependency ในไฟล์บิลด์แต่ละไฟล์และอัปเดตแต่ละรายการเมื่อใดก็ตามที่คุณต้องการอัปเกรดทรัพยากร Dependency คุณสามารถสร้างแคตตาล็อกเวอร์ชันส่วนกลางของทรัพยากร Dependency ที่โมดูลต่างๆ สามารถอ้างอิงได้ในลักษณะที่ปลอดภัยต่อประเภทด้วยความช่วยเหลือของ Android Studio
หน้านี้ให้ข้อมูลพื้นฐานเกี่ยวกับการย้ายข้อมูลแอป Android ไปยังแคตตาล็อกเวอร์ชัน ดูข้อมูลเพิ่มเติมได้ที่เพิ่มทรัพยากร Dependency ของบิลด์และเอกสารประกอบของ Gradle
สร้างไฟล์แคตตาล็อกเวอร์ชัน
เริ่มต้นด้วยการสร้างไฟล์แคตตาล็อกเวอร์ชัน ในโฟลเดอร์ gradle ของโปรเจ็กต์รูท ให้สร้างไฟล์ชื่อ libs.versions.toml Gradle จะค้นหาแคตตาล็อก
ในไฟล์ libs.versions.toml โดยค่าเริ่มต้น
เราจึงขอแนะนำให้ใช้ชื่อเริ่มต้นนี้
เพิ่มส่วนต่อไปนี้ในไฟล์ libs.versions.toml
[versions]
[libraries]
[plugins]
โดยแต่ละส่วนจะใช้ดังนี้
- ในบล็อก
versionsให้กำหนดตัวแปรที่เก็บเวอร์ชันของทรัพยากร Dependency และปลั๊กอิน คุณใช้ตัวแปรเหล่านี้ในบล็อกถัดไป (บล็อกlibrariesและplugins) - ในบล็อก
librariesให้กำหนดทรัพยากร Dependency - ในบล็อก
pluginsให้กำหนดปลั๊กอิน
ขั้นตอนการย้ายโปรเจ็กต์
เราขอแนะนำให้ทำตามขั้นตอนตามลำดับที่ระบุไว้ บิลด์สามารถใช้ทรัพยากร Dependency และปลั๊กอินจากสคริปต์บิลด์และแคตตาล็อกพร้อมกันได้ ดังนั้นโปรดใช้เวลาในการย้ายข้อมูลทรัพยากร Dependency และปลั๊กอินทีละรายการ
กระบวนการย้ายข้อมูลมีดังนี้
- เพิ่มรายการใหม่ลงในแคตตาล็อก
- ซิงค์โปรเจ็กต์ Android
- แทนที่การประกาศสตริงก่อนหน้าด้วยตัวช่วยเข้าถึงที่ปลอดภัยในการกำหนดประเภทแคตตาล็อก
ย้ายข้อมูลทรัพยากร Dependency
เพิ่มรายการสำหรับทรัพยากร Dependency แต่ละรายการในทั้งส่วน versions และ libraries ของไฟล์ libs.versions.toml ซิงค์โปรเจ็กต์ แล้วแทนที่การประกาศในไฟล์บิลด์ด้วยชื่อแคตตาล็อก
ข้อมูลโค้ดนี้แสดงไฟล์ build.gradle.kts ก่อนนำทรัพยากร Dependency ออก
Kotlin
dependencies { implementation("androidx.core:core-ktx:1.9.0") }
ดึงดูด
dependencies { implementation 'androidx.core:core-ktx:1.9.0' }
ข้อมูลโค้ดนี้แสดงวิธีกำหนดทรัพยากร Dependency ในไฟล์แคตตาล็อกเวอร์ชัน
[versions]
ktx = "1.9.0"
[libraries]
androidx-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "ktx" }
การตั้งชื่อที่แนะนำสำหรับบล็อกทรัพยากร Dependency ในแคตตาล็อกคือ Dash-case (เช่น androidx-ktx) เพื่อให้ความช่วยเหลือในการเติมโค้ดในไฟล์บิลด์ทำงานได้ดีขึ้น
ในไฟล์ build.gradle.kts ของแต่ละโมดูลที่ต้องใช้ทรัพยากร Dependency ให้กำหนดทรัพยากร Dependency ตามชื่อที่คุณกำหนดไว้ในไฟล์ TOML
Kotlin
dependencies { implementation(libs.androidx.ktx) }
ดึงดูด
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") }
ดึงดูด
// 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" }
เช่นเดียวกับทรัพยากร Dependency รูปแบบที่แนะนำสำหรับรายการแคตตาล็อกบล็อก plugins คือ Dash-case (เช่น 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) }
ดึงดูด
// 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 เป็นแอปตัวอย่างของเราที่ใช้แคตตาล็อกเวอร์ชัน