Configura el complemento de Gradle de Compose Compiler

Si usas Gradle, puedes usar el complemento de Gradle de Compose Compiler para facilitar la configuración de Compose.

Configuración con catálogos de versiones de Gradle

En las siguientes instrucciones, se describe cómo puedes configurar el complemento de Gradle de Compose Compiler:

  1. En tu archivo libs.versions.toml, quita cualquier referencia al compilador de Compose.
  2. En la sección de complementos, agrega la siguiente dependencia nueva.
[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. En el archivo build.gradle.kts raíz de tus proyectos, agrega el siguiente fragmento a la sección de complementos.
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler) apply false
}
  1. En cada módulo que use Compose, aplica el complemento de la siguiente manera.
plugins {
   // Existing plugins
   alias(libs.plugins.compose.compiler)
}

Si usas la configuración predeterminada, ahora se debería compilar la app. Si configuraste opciones personalizadas en el compilador de Compose, consulta la siguiente sección.

Cómo configurar el compilador de Compose sin catálogos de versiones de Gradle

Agrega el siguiente complemento a los archivos build.gradle.kts asociados con los módulos que usas en Compose:

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

También es posible que debas agregar esta ruta de clase a tu archivo build.gradle.kts de nivel superior del proyecto:

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

Opciones de configuración con el complemento de Gradle del compilador de Compose

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

Agrega la siguiente definición al archivo build.gradle de tu app:

Groovy

android {
    buildFeatures {
        compose true
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }
}

Si estableces la marca compose en true dentro del bloque BuildFeatures de Android, se habilitará la funcionalidad de Compose en Android Studio.

Por último, agrega la BoM de Compose y el subconjunto de dependencias de la biblioteca de Compose que necesitas a tus dependencias del siguiente bloque:

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

}