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:

  1. Di file libs.versions.toml, hapus semua referensi ke Compose Compiler.
  2. 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" }
  1. Dalam file build.gradle.kts root project, tambahkan cuplikan berikut ke bagian plugins.
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler) apply false
}
  1. 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")

}