สำหรับ Gradle ให้ใช้ปลั๊กอิน Gradle ของตัวคอมไพเลอร์ Compose เพื่อตั้งค่าและกำหนดค่า Compose
ตั้งค่าด้วยแคตตาล็อกเวอร์ชัน Gradle
ตั้งค่าปลั๊กอิน Gradle ของตัวคอมไพล์ Compose
- ในไฟล์
libs.versions.tomlให้นำการอ้างอิงใดๆ ไปยัง Compose Compiler ออก ในส่วน
versionsและpluginsให้เพิ่มทรัพยากร Dependency ใหม่ดังนี้[versions] kotlin = "2.3.21" [plugins] org-jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } // Add this line compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }ในไฟล์
build.gradle.ktsรูทของโปรเจ็กต์ ให้เพิ่มข้อมูลต่อไปนี้ลงในส่วนpluginsplugins { // Existing plugins alias(libs.plugins.compose.compiler) apply false }ในแต่ละโมดูลที่ใช้ Compose ให้ใช้ปลั๊กอินดังนี้
plugins { // Existing plugins alias(libs.plugins.compose.compiler) }
ตอนนี้โปรเจ็กต์ควรจะสร้างและคอมไพล์ได้หากใช้การตั้งค่าเริ่มต้น หาก มีการกำหนดค่าตัวเลือกที่กำหนดเองในคอมไพเลอร์ Compose ให้ทำตามส่วนถัดไป
ตั้งค่าคอมไพเลอร์ Compose โดยไม่มีแคตตาล็อกเวอร์ชัน Gradle
เพิ่มปลั๊กอินไปยังไฟล์ build.gradle.kts ที่เชื่อมโยงกับโมดูลที่ใช้ Compose
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" // this version matches your Kotlin version
}
เพิ่ม classpath ลงในไฟล์ build.gradle.kts ของโปรเจ็กต์ระดับบนสุด
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.21")
}
}
ตัวเลือกการกำหนดค่าด้วยปลั๊กอิน Gradle ของคอมไพเลอร์ Compose
หากต้องการกำหนดค่าคอมไพเลอร์ Compose โดยใช้ปลั๊กอิน Gradle ให้เพิ่มบล็อก
composeCompiler ลงในไฟล์ build.gradle.kts ของโมดูลที่ระดับบนสุด
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
ดูรายการตัวเลือกทั้งหมดที่พร้อมใช้งานได้ในเอกสารประกอบ
ตั้งค่าการอ้างอิง Compose
ใช้ Compose BOM เวอร์ชันล่าสุดเสมอ: 2026.06.00
ตั้งค่าcomposeเป็น true ภายใน BuildFeatures ของ Android เพื่อ
เปิดใช้ฟังก์ชันการทำงานของ Compose ใน Android Studio
เพิ่มคำจำกัดความต่อไปนี้ลงในไฟล์ build.gradle ของแอป
ดึงดูด
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
เพิ่ม Compose BOM และชุดย่อยของทรัพยากร Dependency ของไลบรารี Compose ดังนี้
ดึงดูด
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.06.00')
implementation composeBom
androidTestImplementation composeBom
// Choose one of the following:
// Material Design 3
implementation 'androidx.compose.material3:material3'
// or skip Material Design and build directly on top of foundational components
implementation 'androidx.compose.foundation:foundation'
// or only import the main APIs for the underlying toolkit systems,
// such as input and measurement/layout
implementation 'androidx.compose.ui:ui'
// Android Studio Preview support
implementation 'androidx.compose.ui:ui-tooling-preview'
debugImplementation 'androidx.compose.ui:ui-tooling'
// UI Tests
androidTestImplementation 'androidx.compose.ui:ui-test-junit4'
debugImplementation 'androidx.compose.ui:ui-test-manifest'
// Optional - Add window size utils
implementation 'androidx.compose.material3.adaptive:adaptive'
// Optional - Integration with activities
implementation 'androidx.activity:activity-compose:1.13.0'
// Optional - Integration with ViewModels
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0'
// Optional - Integration with LiveData
implementation 'androidx.compose.runtime:runtime-livedata'
// Optional - Integration with RxJava
implementation 'androidx.compose.runtime:runtime-rxjava2'
}
Kotlin
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2026.06.00")
implementation(composeBom)
androidTestImplementation(composeBom)
// Choose one of the following:
// Material Design 3
implementation("androidx.compose.material3:material3")
// or skip Material Design and build directly on top of foundational components
implementation("androidx.compose.foundation:foundation")
// or only import the main APIs for the underlying toolkit systems,
// such as input and measurement/layout
implementation("androidx.compose.ui:ui")
// Android Studio Preview support
implementation("androidx.compose.ui:ui-tooling-preview")
debugImplementation("androidx.compose.ui:ui-tooling")
// UI Tests
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-test-manifest")
// Optional - Add window size utils
implementation("androidx.compose.material3.adaptive:adaptive")
// Optional - Integration with activities
implementation("androidx.activity:activity-compose:1.13.0")
// Optional - Integration with ViewModels
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0")
// Optional - Integration with LiveData
implementation("androidx.compose.runtime:runtime-livedata")
// Optional - Integration with RxJava
implementation("androidx.compose.runtime:runtime-rxjava2")
}
compileSdk และความเข้ากันได้ของปลั๊กอิน Android Gradle
การเปิดตัวไลบรารี Compose จะใช้ compileSdk เวอร์ชันล่าสุดอย่างต่อเนื่องเพื่อ
ให้เข้าถึงฟีเจอร์ล่าสุดของ Android ได้ compileSdk เวอร์ชันใหม่กว่า
ต้องใช้ปลั๊กอิน Android Gradle เวอร์ชันใหม่กว่า ดังนั้นการใช้ Compose เวอร์ชันใหม่
ยังกำหนดให้โปรเจ็กต์ต้องใช้ปลั๊กอิน Android Gradle เวอร์ชันใหม่ด้วย
เราขอแนะนำให้อัปเดต compileSdk ของโปรเจ็กต์ให้เป็นเวอร์ชันล่าสุดอยู่เสมอ compileSdk ไม่เกี่ยวข้องกับ targetSdk
เช่น ตั้งแต่ Compose 1.12.0 เป็นต้นไป โปรเจ็กต์จะต้องใช้
compileSdk 37 และปลั๊กอิน Android Gradle (AGP) 9
หากต้องการตรวจสอบว่า AGP เวอร์ชันใดรองรับ API ระดับต่างๆ โปรดดูเอกสารประกอบการรองรับระดับ API ของปลั๊กอิน Android Gradle