הגדרת הפלאגין Compose Compiler Gradle
ב-Gradle, משתמשים בפלאגין Compose Compiler Gradle כדי להגדיר את Compose.
הגדרה באמצעות קטלוגים של גרסאות Gradle
מגדירים את הפלאגין Compose Compiler Gradle:
- בקובץ
libs.versions.toml, מסירים את כל ההפניות ל-Compose Compiler. - בקטעים
versionsו-plugins, מוסיפים את התלות החדשה:
[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
}
מוסיפים את נתיב המחלקה לקובץ build.gradle.kts ברמה העליונה של הפרויקט:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.10")
}
}
אפשרויות הגדרה באמצעות התוסף Compose Compiler Gradle Plugin
כדי להגדיר את מהדר 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.
מגדירים את הדגל compose לערך true בתוך Android BuildFeatures כדי להפעיל את הפונקציונליות של Compose ב-Android Studio.
מוסיפים את ההגדרה הבאה לקובץ build.gradle של האפליקציה:
Groovy
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
מוסיפים את ה-BOM של Compose ואת קבוצת המשנה של יחסי התלות של הפרויקט בספריות 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")
}