Configura el complemento de Gradle para Compose Compiler
Para Gradle, usa el complemento de Gradle para Compose Compiler para configurar Compose.
Configuración con catálogos de versiones de Gradle
Configura el complemento de Gradle para Compose Compiler:
- En el archivo
libs.versions.toml, quita cualquier referencia a Compose Compiler. - En las secciones
versionsyplugins, agrega la nueva dependencia:
[versions]
kotlin = "2.3.10"
[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" }
- En el archivo
build.gradle.ktsraíz del proyecto, agrega lo siguiente a la secciónplugins.
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
- En cada módulo que usa Compose, aplica el complemento:
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
El proyecto ahora debería compilarse si usaba la configuración predeterminada. Si configuró opciones personalizadas en el compilador de Compose, sigue la siguiente sección.
Configura Compose Compiler sin catálogos de versiones de Gradle
Agrega el complemento a los archivos build.gradle.kts asociados con los módulos en los que se usa Compose:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.3.10" // this version matches your Kotlin version
}
Agrega la ruta de clase al archivo build.gradle.kts de tu proyecto de nivel superior:
buildscript {
dependencies {
classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.3.10")
}
}
Opciones de configuración con el complemento de Gradle para Compose Compiler
Para configurar el compilador de Compose con el complemento de Gradle, agrega el bloque composeCompiler al archivo build.gradle.kts del módulo en el nivel superior:
android { … }
composeCompiler {
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
Para ver la lista completa de opciones disponibles, consulta la documentación.
Configura dependencias de Compose
Usa siempre la versión más reciente de la BoM de Compose: 2026.03.00.
Establece el parámetro compose en true dentro de BuildFeatures de Android
para habilitar la funcionalidad de Compose en Android Studio.
Agrega la siguiente definición al archivo build.gradle de tu app:
Groovy
android {
buildFeatures {
compose true
}
}
Kotlin
android {
buildFeatures {
compose = true
}
}
Agrega la BoM de Compose y el subconjunto de dependencias de la biblioteca de Compose:
Groovy
dependencies {
def composeBom = platform('androidx.compose:compose-bom:2026.03.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.03.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")
}