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