Configurar o plug-in do Gradle do Compose Compiler

Para o Gradle, use o plug-in do Gradle do Compose Compiler para configurar o Compose.

Configurar com catálogos de versões do Gradle

Configure o plug-in do Gradle do Compose Compiler:

  1. No arquivo libs.versions.toml, remova qualquer referência ao Compose Compiler.
  2. Nas seções versions e plugins, adicione a nova dependência:

    [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. No arquivo build.gradle.kts raiz do projeto, adicione o seguinte à seção plugins.

    plugins {
    // Existing plugins
    alias(libs.plugins.compose.compiler) apply false
    }
    
  4. Em cada módulo que usa o Compose, aplique o plug-in:

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

O projeto agora vai ser criado e compilado se estiver usando a configuração padrão. Se ele tiver opções personalizadas configuradas no compilador do Compose, siga a próxima seção.

Configurar o Compose Compiler sem catálogos de versões do Gradle

Adicione o plug-in aos arquivos build.gradle.kts associados aos módulos em que o Compose é usado:

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

Adicione o caminho de classe ao arquivo build.gradle.kts do projeto de nível mais alto:

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

Opções de configuração com o plug-in do Gradle do Compose Compiler

Para configurar o compilador do Compose usando o plug-in do Gradle, adicione o bloco composeCompiler ao arquivo build.gradle.kts do módulo no nível mais alto:

android {  }

composeCompiler {
    reportsDestination = layout.buildDirectory.dir("compose_compiler")
    stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}

Para conferir a lista completa de opções disponíveis, consulte a documentação.

Configurar dependências do Compose

Sempre use a versão mais recente da BoM do Compose: 2026.06.00.

Defina a flag compose como true no BuildFeatures do Android para ativar a funcionalidade do Compose no Android Studio.

Adicione a seguinte definição ao arquivo build.gradle do app:

Groovy

android {
    buildFeatures {
        compose true
    }
}

Kotlin

android {
    buildFeatures {
        compose = true
    }
}

Adicione a BoM do Compose e o subconjunto de dependências da biblioteca do 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")

}

Compatibilidade do compileSdk e do Plug-in do Android para Gradle

As versões da biblioteca do Compose adotam continuamente as versões mais recentes do compileSdk para fornecer acesso aos recursos mais recentes do Android. As versões mais recentes do compileSdk exigem versões mais recentes do Plug-in do Android para Gradle. Portanto, a adoção de novas versões do Compose também exige que os projetos adotem novas versões do Plug-in do Android para Gradle. Recomendamos manter o compileSdk do projeto atualizado com as versões mais recentes. compileSdk não está relacionado a targetSdk.

Por exemplo, a partir do Compose 1.12.0, os projetos precisam usar o compileSdk 37 e o Plug-in do Android para Gradle (AGP) 9.

Para verificar qual versão do AGP é compatível com diferentes níveis de API, consulte a documentação de suporte ao nível da API do Plug-in do Android para Gradle.