Configura el complemento de Gradle de Compose Compiler

En Gradle, usa el complemento de Gradle de Compose Compiler para configurar Compose.

Configuración con catálogos de versiones de Gradle

Configura el complemento de Gradle para Compose Compiler:

  1. En el archivo libs.versions.toml, quita cualquier referencia al compilador de Compose.
  2. En las secciones versions y plugins, agrega la nueva dependencia:

    [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. En el archivo build.gradle.kts raíz del proyecto, agrega lo siguiente a la sección plugins.

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler) apply false
    }
    
  4. En cada módulo que use Compose, aplica el complemento:

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler)
    }
    

Ahora el proyecto debería compilarse si usaba la configuración predeterminada. Si configuraste opciones personalizadas en el compilador de Compose, sigue la siguiente sección.

Cómo configurar el compilador de Compose 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.21" // 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.21")
    }
}

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 las dependencias de Compose

Siempre usa la versión más reciente de la BoM de Compose: 2026.08.00.

Establece la marca 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.08.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.08.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")

}

Compatibilidad de compileSdk y el complemento de Android para Gradle

Las versiones de la biblioteca de Compose adoptan continuamente las versiones más recientes de compileSdk para proporcionar acceso a las funciones más recientes de Android. Las versiones más recientes de compileSdk requieren versiones más recientes del complemento de Android para Gradle, por lo que la adopción de nuevas versiones de Compose también requiere que los proyectos adopten nuevas versiones del complemento de Android para Gradle. Te recomendamos que mantengas el compileSdk de tu proyecto actualizado con las versiones más recientes. compileSdk no está relacionado con targetSdk.

Por ejemplo, a partir de Compose 1.12.0, los proyectos deben usar compileSdk 37 y el complemento de Android para Gradle (AGP) 9.

Para verificar qué versión del AGP se admite para los diferentes niveles de API, consulta la documentación sobre la compatibilidad del complemento de Android para Gradle con los niveles de API.