ตั้งค่าปลั๊กอิน Gradle ของตัวคอมไพล์ Compose
สำหรับ Gradle ให้ใช้ปลั๊กอิน Gradle ของตัวคอมไพล์ Compose เพื่อตั้งค่า และกำหนดค่า Compose
ตั้งค่าด้วยแคตตาล็อกเวอร์ชัน Gradle
ตั้งค่าปลั๊กอิน Gradle ของตัวคอมไพล์ Compose
- ในไฟล์
libs.versions.tomlให้นำการอ้างอิงใดๆ ไปยัง Compose Compiler ออก - ในส่วน
versionsและpluginsให้เพิ่มทรัพยากร Dependency ใหม่ดังนี้
[versions]
kotlin = "2.3.10"
[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รูทของโปรเจ็กต์ ให้เพิ่มรายการต่อไปนี้ลงในส่วนplugins
plugins {
// 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.10" // 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.10")
}
}
ตัวเลือกการกำหนดค่าด้วยปลั๊กอิน 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.03.00
ตั้งค่า Flag compose เป็น true ภายใน Android BuildFeatures
เพื่อเปิดใช้ฟังก์ชันการทำงานของ Compose ใน Android Studio
เพิ่มคำจำกัดความต่อไปนี้ลงในไฟล์ build.gradle ของแอป
Groovy
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
เพิ่ม Compose BOM และชุดย่อยของทรัพยากร Dependency ของไลบรารี Compose ดังนี้
Groovy
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.03.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.03.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")
}