افزونه Compose Compiler Gradle را تنظیم کنید
برای کاربران Gradle، میتوانید از افزونه Compose Compiler Gradle برای آسانتر کردن تنظیم و پیکربندی Compose استفاده کنید.
با کاتالوگهای نسخه Gradle راهاندازی کنید
دستورالعملهای زیر نحوهی راهاندازی افزونهی Compose Compiler Gradle را شرح میدهند:
- در فایل
libs.versions.tomlخود، هرگونه ارجاع به کامپایلر Compose را حذف کنید. - در بخش افزونهها، وابستگی جدید زیر را اضافه کنید.
[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" }
- در فایل
build.gradle.ktsدر ریشه پروژههای خود، قطعه کد زیر را به بخش افزونهها اضافه کنید.
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.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")
}