Configurare il plug-in Gradle del compilatore Compose

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:

  1. Nel file libs.versions.toml, rimuovi qualsiasi riferimento al compilatore Compose.
  2. Nelle sezioni versions e plugins, 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" }
    
  3. Nel file build.gradle.kts della radice del progetto, aggiungi quanto segue alla sezione plugins.

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler) apply false
    }
    
  4. In ogni modulo che utilizza Compose, applica il plug-in:

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler)
    }
    

Se utilizzavi la configurazione predefinita, ora dovresti riuscire a compilare ed eseguire la build del progetto. Se hai configurato opzioni personalizzate nel compilatore Compose, consulta la sezione seguente.

Configura il compilatore Compose senza i 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.

Configura le dipendenze di Compose

Utilizza sempre l'ultima versione della distinta base di Compose: 2026.06.00.

Imposta il flag compose su true all'interno di BuildFeatures di Android per attivare la funzionalità Compose in Android Studio.

Aggiungi la seguente definizione al file build.gradle della tua app:

Alla moda

android {
    buildFeatures {
        compose true
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }
}

Aggiungi la distinta base di Compose e il sottoinsieme delle dipendenze della libreria Compose:

Alla moda

dependencies {

    def composeBom = platform('androidx.compose:compose-bom:2026.06.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.06.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à di compileSdk e del 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 aggiornato compileSdk del tuo progetto con le ultime versioni rilasciate. 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 sul supporto del livello API del plug-in Android per Gradle.