W przypadku Gradle użyj wtyczki Gradle do obsługi kompilatora Compose, aby skonfigurować Compose.
Konfigurowanie za pomocą katalogów wersji Gradle
Skonfiguruj wtyczkę Gradle do obsługi kompilatora Compose:
- W pliku
libs.versions.tomlusuń wszelkie odniesienia do kompilatora Compose. W sekcjach
versionsipluginsdodaj nową zależność:[versions] kotlin = "2.3.21" [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" }W pliku
build.gradle.ktsw katalogu głównym projektu dodaj ten kod do sekcjiplugins.plugins { // Existing plugins alias(libs.plugins.compose.compiler) apply false }W każdym module, który korzysta z Compose, zastosuj wtyczkę:
plugins { // Existing plugins alias(libs.plugins.compose.compiler) }
Jeśli projekt korzystał z domyślnej konfiguracji, powinien się teraz skompilować. Jeśli miał skonfigurowane opcje niestandardowe w kompilatorze Compose, wykonaj czynności opisane w następnej sekcji.
Konfigurowanie kompilatora Compose bez katalogów wersji Gradle
Dodaj wtyczkę do plików build.gradle.kts powiązanych z modułami, w których używany jest Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" // this version matches your Kotlin version
}
Dodaj ścieżkę klasy do pliku build.gradle.kts projektu najwyższego poziomu:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.21")
}
}
Opcje konfiguracji we wtyczce Gradle do obsługi kompilatora Compose
Aby skonfigurować kompilator Compose za pomocą wtyczki Gradle, dodaj blok composeCompiler do pliku build.gradle.kts modułu na najwyższym poziomie:
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
Pełną listę dostępnych opcji znajdziesz w dokumentacji.
Konfigurowanie zależności Compose
Zawsze używaj najnowszej wersji BOM Compose: 2026.08.00.
Ustaw flagę compose na true w BuildFeatures Androida, aby
włączyć funkcję Compose w Android Studio.
Dodaj tę definicję do pliku build.gradle aplikacji:
Dynamiczny
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
Dodaj BOM Compose i podzbiór zależności biblioteki Compose:
Dynamiczny
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.08.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.08.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")
}
Zgodność compileSdk i wtyczki Androida do obsługi Gradle
Wersje biblioteki Compose stale dostosowują się do najnowszych wersji compileSdk, aby zapewnić dostęp do najnowszych funkcji Androida. Nowsze wersje compileSdk wymagają nowszych wersji wtyczki Androida do obsługi Gradle, dlatego w przypadku nowych wersji Compose projekty muszą też korzystać z nowych wersji wtyczki Androida do obsługi Gradle. Zalecamy, aby compileSdk projektu było aktualne i zgodne z najnowszymi wersjami. compileSdk nie jest powiązany z targetSdk.
Na przykład od wersji Compose 1.12.0 projekty muszą używać compileSdk 37 i wtyczki Androida do obsługi Gradle (AGP) w wersji 9.
Aby sprawdzić, która wersja AGP jest obsługiwana w przypadku różnych poziomów interfejsu API, zapoznaj się z dokumentacją dotyczącą obsługi poziomu interfejsu API przez wtyczkę Androida do obsługi Gradle.