Configurer le plug-in Gradle du compilateur Compose

Pour Gradle, utilisez le plug-in Gradle du compilateur Compose pour configurer Compose.

Configurer avec les catalogues de versions Gradle

Configurez le plug-in Gradle du compilateur Compose :

  1. Dans le fichier libs.versions.toml, supprimez toute référence au compilateur Compose.
  2. Dans les sections versions et plugins, 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" }
    
  3. Dans le fichier build.gradle.kts racine du projet, ajoutez les éléments suivants à la section plugins.

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler) apply false
    }
    
  4. 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 premier niveau de votre projet :

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.06.00.

Définissez l'indicateur compose sur true dans le bloc BuildFeatures d'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.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é entre compileSdk et le plug-in Android Gradle

Les versions de la bibliothèque Compose adoptent en permanence les dernières versions de compileSdk pour fournir un accès aux dernières fonctionnalités Android. Les versions plus récentes de compileSdk nécessitent des versions plus récentes du plug-in Android Gradle. Par conséquent, l'adoption de nouvelles versions de Compose nécessite également que les projets adoptent de nouvelles versions du plug-in Android Gradle. Nous vous recommandons de maintenir la version compileSdk de votre projet à jour avec les dernières versions publiées. compileSdk n'est pas lié à targetSdk.

Par exemple, à partir de Compose 1.12.0, les projets doivent utiliser compileSdk 37 et le plug-in Android Gradle (AGP) 9.

Pour vérifier quelle version d'AGP est compatible avec différents niveaux d'API, consultez la documentation sur la compatibilité des niveaux d'API avec le plug-in Android Gradle.