Configurer le plug-in Gradle du compilateur Compose

Si vous utilisez Gradle, vous pouvez utiliser le plug-in Gradle du compilateur Compose pour faciliter la configuration de Compose.

Configurer avec les catalogues de versions Gradle

Les instructions suivantes expliquent comment configurer le plug-in Gradle du compilateur Compose :

  1. Dans votre fichier libs.versions.toml, supprimez toute référence au compilateur Compose.
  2. Dans la section des plug-ins, ajoutez la nouvelle dépendance suivante.
[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. Dans le fichier build.gradle.kts racine de vos projets, ajoutez l'extrait suivant à la section "plugins".
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler) apply false
}
  1. Dans chaque module qui utilise Compose, appliquez le plug-in comme suit.
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler)
}

Votre application devrait maintenant être compilée si vous utilisez la configuration par défaut. Si vous avez configuré des options personnalisées sur le compilateur Compose, consultez la section suivante.

Configurer le compilateur Compose sans catalogues de versions Gradle

Ajoutez le plug-in suivant aux fichiers build.gradle.kts associés aux modules que vous utilisez Compose :

plugins {
    id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" // this version matches your Kotlin version
}

Vous devrez peut-être également ajouter ce chemin de classe à votre fichier build.gradle.kts de projet de premier niveau :

buildscript {
    dependencies {
        classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.0.0")
    }
}

Options de configuration avec le plug-in Gradle du compilateur Compose

Pour configurer le compilateur Compose à l'aide du plug-in Gradle, ajoutez le bloc composeCompiler au fichier build.gradle.kts du module au niveau supérieur.

android {  }

composeCompiler {
    reportsDestination = layout.buildDirectory.dir("compose_compiler")
    stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}

Pour obtenir la liste complète des options disponibles, consultez la documentation.

Configurer les dépendances Compose

Ajoutez la définition suivante au fichier build.gradle de votre application :

Groovy

android {
    buildFeatures {
        compose true
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }
}

Définir l'indicateur compose sur true dans le bloc BuildFeatures d'Android active la fonctionnalité Compose dans Android Studio.

Enfin, ajoutez la nomenclature Compose et le sous-ensemble des dépendances des bibliothèques Compose nécessaires à vos dépendances à partir du bloc suivant :

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")

}