Configurer le plug-in Gradle du compilateur Compose
Pour Gradle, utilisez le plug-in Gradle du compilateur Compose afin de configurer Compose.
Configurer avec les catalogues de versions Gradle
Configurez le plug-in Gradle du compilateur Compose :
- Dans le fichier
libs.versions.toml, supprimez toute référence au compilateur Compose. - Dans les sections
versionsetplugins, ajoutez la nouvelle dépendance :
[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" }
- Dans le fichier
build.gradle.ktsracine du projet, ajoutez les éléments suivants à la sectionplugins.
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
- Dans chaque module qui utilise Compose, appliquez le plug-in :
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
Le projet doit maintenant être compilé s'il utilisait la configuration par défaut. S'il avait configuré des options personnalisées sur le compilateur Compose, suivez la section suivante.
Configurer le compilateur Compose sans les catalogues de versions Gradle
Ajoutez le plug-in aux fichiers build.gradle.kts associés aux modules dans lesquels Compose est utilisé :
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" // this version matches your Kotlin version
}
Ajoutez le chemin de classe au fichier build.gradle.kts de votre projet de premier niveau :
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.21")
}
}
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
Utilisez toujours la dernière version de la nomenclature Compose : 2026.05.00.
Définissez l'indicateur compose sur true dans BuildFeatures Android
pour activer la fonctionnalité Compose dans Android Studio.
Ajoutez la définition suivante au fichier build.gradle de votre application :
Groovy
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
Ajoutez la nomenclature Compose et le sous-ensemble des dépendances des bibliothèques Compose :
Groovy
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.05.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.05.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")
}