Per Gradle, utilizza il plug-in Gradle del compilatore Compose per configurare Compose.
Configura con i cataloghi delle versioni Gradle
Configura il plug-in Gradle del compilatore Compose:
- Nel file
libs.versions.toml, rimuovi qualsiasi riferimento al compilatore Compose. Nelle sezioni
versionseplugins, aggiungi la nuova dipendenza:[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" }Nel file
build.gradle.ktsnella radice del progetto, aggiungi quanto segue alla sezioneplugins.plugins { // Existing plugins alias(libs.plugins.compose.compiler) apply false }In ogni modulo che utilizza Compose, applica il plug-in:
plugins { // Existing plugins alias(libs.plugins.compose.compiler) }
Se utilizzava il setup predefinito, ora dovresti riuscire a compilare ed eseguire la build del progetto. Se aveva configurato opzioni personalizzate nel compilatore Compose, segui la sezione successiva.
Configura il compilatore Compose senza cataloghi delle versioni Gradle
Aggiungi il plug-in ai file build.gradle.kts associati ai moduli in cui viene utilizzato Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" // this version matches your Kotlin version
}
Aggiungi il classpath al file build.gradle.kts del progetto di primo livello:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.21")
}
}
Opzioni di configurazione con il plug-in Gradle del compilatore Compose
Per configurare il compilatore Compose utilizzando il plug-in Gradle, aggiungi il blocco composeCompiler al file build.gradle.kts del modulo al primo livello:
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
Per l'elenco completo delle opzioni disponibili, consulta la documentazione.
Configurare le dipendenze di Compose
Utilizza sempre l'ultima versione della distinta base di Compose: 2026.08.00.
Imposta il flag compose su true all'interno di Android BuildFeatures per
attivare la funzionalità di Compose in Android Studio.
Aggiungi la seguente definizione al file build.gradle dell'app:
Alla moda
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
Aggiungi la BOM di Compose e il sottoinsieme delle dipendenze della libreria Compose:
Alla moda
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")
}
Compatibilità con compileSdk e il plug-in Android per Gradle
Le release della libreria Compose adottano continuamente le ultime versioni di compileSdk per
fornire l'accesso alle funzionalità Android più recenti. Le versioni più recenti di compileSdk
richiedono versioni più recenti del plug-in Android per Gradle, pertanto l'adozione di nuove release di Compose
richiede anche che i progetti adottino nuove versioni del plug-in Android per Gradle. Ti consigliamo di mantenere compileSdk del progetto aggiornato con le
versioni più recenti. compileSdk non è correlato a targetSdk.
Ad esempio, a partire da Compose 1.12.0, i progetti devono utilizzare
compileSdk 37 e il plug-in Android per Gradle (AGP) 9.
Per verificare quale versione di AGP è supportata per i diversi livelli API, consulta la documentazione Supporto del livello API del plug-in Android per Gradle.