A Lista de materiais (BoM) do Compose permite gerenciar toda a biblioteca do Compose versões especificando somente a versão da BoM. A BoM tem links para as versões estáveis das diferentes bibliotecas do Compose de maneira que elas funcionem bem juntas. Ao usar a BoM no app, não é necessário adicionar nenhuma versão às dependências de biblioteca do Compose. Quando você atualiza a versão da BoM, todas as bibliotecas que você está usando são atualizadas de forma automática para as novas versões.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2024.06.00') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
Para descobrir quais versões de bibliotecas do Compose correspondem a uma versão específica da BoM, confira a seção Mapeamento de versão da BoM e de bibliotecas.
Por que a biblioteca Compose Compiler não está inclusa na BoM?
A extensão do compilador Kotlin do Compose (androidx.compose.compiler) não está vinculada às versões de biblioteca do Compose. Em vez disso, ela está vinculada a versões do plug-in do compilador Kotlin e foi lançada em outra cadência do Compose. Portanto, use uma versão compatível com a versão do Kotlin. Você encontra a versão do Kotlin que corresponde a cada versão do plug-in no Mapa de compatibilidade do Compose para Kotlin.
Como usar uma versão de biblioteca diferente da que é designada na BoM?
Na seção de dependências do build.gradle
, mantenha a importação da plataforma
BoM. Na importação das dependências da biblioteca, especifique a versão preferida. Para
exemplo, veja como declarar
dependências se quiser usar uma versão mais recente da biblioteca de animação, sem
independentemente da versão designada na BoM:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.7.0-beta05") // .. }
Groovy
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.7.0-beta05' // .. }
A BoM adiciona de forma automática todas as bibliotecas do Compose ao meu app?
Não. Para adicionar e usar bibliotecas do Compose no seu app, é necessário declarar cada biblioteca como uma linha de dependência separada no arquivo Gradle do módulo no nível do app, geralmente em app/build.gradle.
O uso da BoM garante que as versões de qualquer biblioteca do Compose no seu app sejam compatíveis, mas ela não adiciona essas bibliotecas ao seu app.
Por que a BoM é a maneira recomendada de gerenciar versões das bibliotecas do Compose?
A partir de agora, as bibliotecas do Compose serão criadas de maneira independente, o que significa que os números de versão vão começar a ser incrementados no próprio ritmo. As versões mais estáveis de cada biblioteca são testadas, e é garantido que elas vão funcionar bem juntas. No entanto, encontrar as versões estáveis mais recentes de cada biblioteca pode ser difícil. Por isso, a BoM ajuda você a usar essas versões de forma automática.
O uso da BoM é obrigatório?
Não. Você ainda pode adicionar cada versão de dependência manualmente. No entanto, recomendamos a BoM, porque ela facilita o uso de todas as versões estáveis mais recentes ao mesmo tempo.
A BoM funciona com os catálogos de versões?
Sim. É possível incluir a BoM no catálogo de versões e omitir as outras versões de biblioteca do Compose:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
Não se esqueça de importar a BoM no build.gradle
do módulo:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
Groovy
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
Como posso informar um problema ou enviar feedback sobre a BoM?
Você pode registrar problemas no nosso Issue Tracker.
Recomendados para você
- Observação: o texto do link aparece quando o JavaScript está desativado.
- Material Design 3 no Compose
- ConstraintLayout no Compose
- Recursos no Compose