Menyiapkan plugin Gradle Compose Compiler
Untuk pengguna Gradle, Anda dapat menggunakan plugin Gradle Compose Compiler untuk mempermudah penyiapan dan konfigurasi Compose.
Menyiapkan dengan katalog versi Gradle
Petunjuk berikut menguraikan cara menyiapkan plugin Gradle Compose Compiler:
- Di file
libs.versions.toml, hapus semua referensi ke Compose Compiler. - Di bagian plugin, tambahkan dependensi baru berikut.
[versions]
kotlin = "2.0.0"
[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" }
- Dalam file
build.gradle.ktsroot project, tambahkan cuplikan berikut ke bagian plugins.
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
- Di setiap modul yang menggunakan Compose, terapkan plugin sebagai berikut.
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
Aplikasi Anda sekarang harus di-build dan dikompilasi jika Anda menggunakan penyiapan default. Jika Anda telah mengonfigurasi opsi kustom di compiler Compose, lihat bagian berikut.
Menyiapkan Compose Compiler tanpa katalog versi Gradle
Tambahkan plugin
berikut ke file build.gradle.kts yang terkait dengan modul yang menggunakan
Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" // this version matches your Kotlin version
}
Anda mungkin juga perlu menambahkan classpath ini ke file build.gradle.kts project tingkat teratas:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.0.0")
}
}
Opsi konfigurasi dengan Plugin Gradle Compiler Compose
Untuk mengonfigurasi compiler Compose menggunakan plugin Gradle, tambahkan blok
composeCompiler ke file build.gradle.kts modul di level
teratas.
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
Untuk mengetahui daftar lengkap opsi yang tersedia, lihat dokumentasi.
Menyiapkan dependensi Compose
Tambahkan definisi berikut ke file build.gradle aplikasi Anda:
Groovy
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
Menyetel tanda compose ke true dalam blok BuildFeatures
Android akan mengaktifkan fungsi Compose di Android Studio.
Terakhir, tambahkan BOM Compose dan subset dependensi library Compose yang Anda perlukan ke dependensi dari blok berikut:
Groovy
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.01.01')
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.11.0'
// Optional - Integration with ViewModels
implementation 'androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5'
// 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.01.01")
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.11.0")
// Optional - Integration with ViewModels
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.5")
// Optional - Integration with LiveData
implementation("androidx.compose.runtime:runtime-livedata")
// Optional - Integration with RxJava
implementation("androidx.compose.runtime:runtime-rxjava2")
}