הגדרת הפלאגין Compose Compiler Gradle

משתמשי Gradle יכולים להשתמש בפלאגין Compose Compiler Gradle כדי להגדיר את Compose בקלות.

הגדרה באמצעות קטלוגים של גרסאות Gradle

בהוראות הבאות מוסבר איך להגדיר את התוסף Compose Compiler Gradle:

  1. בקובץ libs.versions.toml, מסירים את כל ההפניות ל-Compose Compiler.
  2. בקטע 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" }
  1. בקטע plugins בקובץ 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
}

יכול להיות שתצטרכו להוסיף את נתיב המחלקה הזה לקובץ 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")

}