افزونه Compose Compiler Gradle را تنظیم کنید

برای کاربران Gradle، می‌توانید از افزونه Compose Compiler Gradle برای آسان‌تر کردن تنظیم و پیکربندی Compose استفاده کنید.

با کاتالوگ‌های نسخه Gradle راه‌اندازی کنید

دستورالعمل‌های زیر نحوه‌ی راه‌اندازی افزونه‌ی Compose Compiler Gradle را شرح می‌دهند:

  1. در فایل libs.versions.toml خود، هرگونه ارجاع به کامپایلر Compose را حذف کنید.
  2. در بخش افزونه‌ها، وابستگی جدید زیر را اضافه کنید.
[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. در فایل build.gradle.kts در ریشه پروژه‌های خود، قطعه کد زیر را به بخش افزونه‌ها اضافه کنید.
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler) apply false
}
  1. در هر ماژولی که از 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.0.0" // 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.0.0")
    }
}

گزینه‌های پیکربندی با افزونه 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 را تنظیم کنید

تعریف زیر را به فایل build.gradle برنامه خود اضافه کنید:

گرووی

android {
    buildFeatures {
        compose true
    }
}

کاتلین

android {
    buildFeatures {
        compose = true
    }
}

تنظیم پرچم compose روی true در داخل بلوک Android BuildFeatures ، قابلیت Compose را در اندروید استودیو فعال می‌کند.

در نهایت، Compose BOM و زیرمجموعه‌ای از وابستگی‌های کتابخانه Compose مورد نیاز خود را از بلوک زیر به وابستگی‌های خود اضافه کنید:

گرووی

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'

}

کاتلین

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")

}