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 :
- Dans votre fichier
libs.versions.toml, supprimez toute référence au compilateur Compose. - 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" }
- Dans le fichier
build.gradle.ktsracine de vos projets, ajoutez l'extrait suivant à la section "plugins".
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
- 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")
}