Compose 재료명세서 (BOM)를 사용하면 BOM 버전만 지정하여 모든 Compose 라이브러리 버전을 관리할 수 있습니다. BOM 자체에는 서로 잘 작동하는 방식으로 정리된 다양한 Compose 라이브러리의 안정화 버전에 대한 링크가 있습니다. 앱에서 BOM을 사용할 때는 Compose 라이브러리 종속 항목 자체에 버전을 추가할 필요가 없습니다. BOM 버전을 업데이트하면 사용 중인 모든 라이브러리가 새 버전으로 자동 업데이트됩니다.
Kotlin
dependencies{// Specify the Compose BOM with a version definitionvalcomposeBom=platform("androidx.compose:compose-bom:2025.08.00")implementation(composeBom)testImplementation(composeBom)androidTestImplementation(composeBom)// Specify Compose library dependencies without a version definitionimplementation("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 definitionDependencycomposeBom=platform('androidx.compose:compose-bom:2025.08.00')implementationcomposeBomtestImplementationcomposeBomandroidTestImplementationcomposeBom// Specify Compose library dependencies without a version definitionimplementation'androidx.compose.foundation:foundation'// ..testImplementation'androidx.compose.ui:ui-test-junit4'// ..androidTestImplementation'androidx.compose.ui:ui-test'}
특정 BOM 버전에 매핑되는 Compose 라이브러리 버전을 알아보려면 BOM과 라이브러리 버전 매핑을 확인하세요.
Compose 컴파일러 라이브러리가 BOM에 포함되지 않는 이유는 무엇인가요?
Compose Kotlin 컴파일러 확장자(androidx.compose.compiler)는 Compose 라이브러리 버전에 연결되지 않습니다. 대신 Kotlin 컴파일러 플러그인 버전에 연결되고 Compose의 나머지 부분과 별도의 주기로 출시됩니다.
Kotlin 2.0부터 Compose appcompiler는 Kotlin 컴파일러와 함께 관리되며 Kotlin 컴파일러와 동일한 버전을 사용합니다.
구성 세부정보는 Compose 컴파일러 Gradle 플러그인을 참고하세요.
Kotlin 2.0 이전에는 Kotlin 버전과 호환되는 버전을 사용해야 합니다. Compose와 Kotlin 호환성 지도에서 플러그인의 각 버전에 매핑되는 Kotlin 버전을 확인할 수 있으며, Compose 컴파일러에서 이를 구성하는 방법을 확인할 수 있습니다.
BOM에 지정된 것과 다른 라이브러리 버전을 사용하려면 어떻게 해야 하나요?
build.gradle 종속 항목 섹션에서 BOM 플랫폼 가져오기를 유지합니다. 라이브러리 종속 항목 가져오기에서 재정의 버전을 지정합니다. 예를 들어 BOM에 지정된 버전과 관계없이 최신 버전의 애니메이션 라이브러리를 사용하려는 경우 종속 항목을 선언하는 방법은 다음과 같습니다.
Kotlin
dependencies{// Specify the Compose BOM with a version definitionvalcomposeBom=platform("androidx.compose:compose-bom:2025.08.00")implementation(composeBom)// Override the BOM version when neededimplementation("androidx.compose.animation:animation:1.9.0-alpha02")// ..}
Groovy
dependencies{// Specify the Compose BOM with a version definitionDependencycomposeBom=platform("androidx.compose:compose-bom:2025.08.00")implementationcomposeBom// Override the BOM version when neededimplementation'androidx.compose.animation:animation:1.9.0-alpha02'// ..}
BOM이 모든 Compose 라이브러리를 앱에 자동으로 추가하나요?
아니요. 실제로 Compose 라이브러리를 앱에 추가하고 사용하려면 모듈(앱 수준) Gradle 파일(일반적으로 app/build.gradle)에서 각 라이브러리를 별도의 종속 항목 줄로 선언해야 합니다.
BOM을 사용하면 앱의 모든 Compose 라이브러리 버전이 호환되지만 BOM은 이러한 Compose 라이브러리를 실제로 앱에 추가하지는 않습니다.
BOM이 Compose 라이브러리 버전을 관리하는 데 권장되는 방법인 이유는 무엇인가요?
앞으로 Compose 라이브러리는 독립적으로 버전이 지정되므로 버전 번호가 자체 속도로 커지기 시작합니다. 각 라이브러리의 최신 안정화 버전은 함께 테스트됩니다. 그러나 각 라이브러리의 최신 안정화 버전은 찾기가 어려울 수 있으며 BOM을 사용하면 이러한 최신 버전을 자동으로 사용할 수 있습니다.
BOM을 무조건 사용해야 하나요?
아니요. 각 종속 항목 버전을 수동으로 추가해도 됩니다. 하지만 BOM을 사용하는 것이 좋습니다. 보다 쉽게 모든 최신 안정화 버전을 동시에 사용할 수 있기 때문입니다.
BOM은 버전 카탈로그와 함께 작동하나요?
예. 버전 카탈로그에 BOM 자체를 포함하고 다른 Compose 라이브러리 버전을 생략할 수 있습니다.
dependencies{valcomposeBom=platform(libs.androidx.compose.bom)implementation(composeBom)androidTestImplementation(composeBom)// import Compose dependencies as usual}
Groovy
dependencies{DependencycomposeBom=platform(libs.androidx.compose.bom)implementationcomposeBomandroidTestImplementation(composeBom)// import Compose dependencies as usual}
Compose 라이브러리의 알파 또는 베타 버전을 사용해 보려면 어떻게 해야 하나요?
사용 가능한 세 가지 Compose BOM이 있습니다. 각 BOM은 사용 가능한 최신 Compose 라이브러리 버전의 특정 시점 스냅샷입니다.
안정화 - 각 라이브러리의 최신 안정화 버전이 포함되어 있습니다.
베타 - 각 라이브러리의 최신 베타, 출시 후보 (RC) 또는 안정화 버전이 포함되어 있습니다.
알파 - 각 라이브러리의 최신 알파, 베타, RC 또는 안정화 버전이 포함되어 있습니다.
BOM의 알파 및 베타 버전은 BOM 아티팩트 이름에 -alpha 및 -beta를 추가하여 지정됩니다. 안정화 버전에는 접미사가 없습니다.
Kotlin
dependencies{// Specify the Compose BOM with a version definitionvalcomposeBom=platform("androidx.compose:compose-bom-alpha:2025.08.00")// or platform("androidx.compose:compose-bom-beta:2025.08.00")implementation(composeBom)// ..}
Groovy
dependencies{// Specify the Compose BOM with a version definitionDependencycomposeBom=platform('androidx.compose:compose-bom-alpha:2025.08.00')// or platform('androidx.compose:compose-bom-beta:2025.08.00')implementationcomposeBom// ..}
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-08-21(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-21(UTC)"],[],[],null,["# Use a Bill of Materials\n\nThe Compose Bill of Materials (BOM) lets you manage all of your Compose library\nversions by specifying\nonly the BOM's version. The BOM itself has links to the stable versions of the\ndifferent Compose libraries, in such a way that they work well together. When\nusing the BOM in your app, you don't need to add\nany version to the Compose library dependencies themselves. When you update the\nBOM version, all the libraries that you're using are automatically updated\nto their new versions. \n\n### Kotlin\n\n```kotlin\ndependencies {\n // Specify the Compose BOM with a version definition\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation(composeBom)\n testImplementation(composeBom)\n androidTestImplementation(composeBom)\n\n // Specify Compose library dependencies without a version definition\n implementation(\"androidx.compose.foundation:foundation\")\n // ..\n testImplementation(\"androidx.compose.ui:ui-test-junit4\")\n // ..\n androidTestImplementation(\"androidx.compose.ui:ui-test\")\n}\n```\n\n### Groovy\n\n```groovy\ndependencies {\n // Specify the Compose BOM with a version definition\n Dependency composeBom = platform('androidx.compose:compose-bom:2025.08.00')\n implementation composeBom\n testImplementation composeBom\n androidTestImplementation composeBom\n\n // Specify Compose library dependencies without a version definition\n implementation 'androidx.compose.foundation:foundation'\n // ..\n testImplementation 'androidx.compose.ui:ui-test-junit4'\n // ..\n androidTestImplementation 'androidx.compose.ui:ui-test'\n}\n```\n\nTo find out which Compose library versions are mapped to a specific BOM version,\ncheck out the [BOM to library version mapping](/develop/ui/compose/bom/bom-mapping).\n\n### Why isn't the Compose Compiler library included in the BOM?\n\nThe Compose Kotlin compiler extension (androidx.compose.compiler) is not linked\nto the Compose library versions. Instead, it is linked to versions of the Kotlin\ncompiler plugin and released in a separate cadence from the rest of Compose.\n\nAs of Kotlin 2.0, the Compose appcompiler is managed alongside the Kotlin\ncompiler and uses the same version as the Kotlin compiler.\nSee [Compose Compiler Gradle plugin](/develop/ui/compose/compiler) for\nconfiguration details.\n\nPrior to Kotlin 2.0, you need to make sure to use a version that is compatible\nwith your version of Kotlin. You can find the Kotlin version that maps to each\nversion of the plugin at\n[Compose to Kotlin Compatibility Map](/jetpack/androidx/releases/compose-kotlin), and how to\nconfigure it at [Compose Compiler](/jetpack/androidx/releases/compose-compiler).\n\n### How do I use a different library version than what's designated in the BOM?\n\nIn the `build.gradle` dependencies section, keep the import of the BOM\nplatform. On the library dependency import, specify the overriding version. For\nexample, here's how to declare\ndependencies if you want to use a newer version of the animation library, no\nmatter what version is designated in the BOM: \n\n### Kotlin\n\n```kotlin\ndependencies {\n // Specify the Compose BOM with a version definition\n val composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation(composeBom)\n\n // Override the BOM version when needed\n implementation(\"androidx.compose.animation:animation:1.9.0-alpha02\")\n\n // ..\n}\n```\n\n### Groovy\n\n```groovy\ndependencies {\n // Specify the Compose BOM with a version definition\n Dependency composeBom = platform(\"androidx.compose:compose-bom:2025.08.00\")\n implementation composeBom\n\n // Override the BOM version when needed\n implementation 'androidx.compose.animation:animation:1.9.0-alpha02'\n\n // ..\n}\n```\n| **Note:** Overriding the BOM to use an alpha version of a Compose library will update your build to use the required dependencies of that alpha library (which in turn, could be alpha).\n\n### Does the BOM automatically add all the Compose libraries to my app?\n\nNo. To actually add and use Compose libraries in your app, you must declare each\nlibrary as a separate dependency line in your module (app-level) Gradle file\n(usually app/build.gradle).\n\nUsing the BOM ensures that the versions of any Compose libraries in your app are\ncompatible, but the BOM doesn't actually add those Compose libraries to your\napp.\n\n### Why is the BOM the recommended way to manage Compose library versions?\n\nGoing forward, Compose libraries will be versioned independently, which means\nversion numbers will start to be incremented at their own pace. The latest\nstable releases of each library are tested together. However, finding the\nlatest stable versions of each library can be difficult, and the BOM helps you\nto automatically use these latest versions.\n\n### Am I forced to use the BOM?\n\nNo. You can still choose to add each dependency version manually. However, we\nrecommend using the BOM as it will make it easier to use all of the latest\nstable versions at the same time.\n\n### Does the BOM work with version catalogs?\n\nYes. You can include the BOM itself in the version catalog, and omit the other\nCompose library versions: \n\n [libraries]\n androidx-compose-bom = { group = \"androidx.compose\", name = \"compose-bom\", version.ref = \"androidxComposeBom\" }\n androidx-compose-foundation = { group = \"androidx.compose.foundation\", name = \"foundation\" }\n\nDon't forget to import the BOM in your module's `build.gradle`: \n\n### Kotlin\n\n```kotlin\ndependencies {\n val composeBom = platform(libs.androidx.compose.bom)\n implementation(composeBom)\n androidTestImplementation(composeBom)\n\n // import Compose dependencies as usual\n}\n```\n\n### Groovy\n\n```groovy\ndependencies {\n Dependency composeBom = platform(libs.androidx.compose.bom)\n implementation composeBom\n androidTestImplementation(composeBom)\n\n // import Compose dependencies as usual\n}\n```\n\n### What if I want to try out alpha or beta releases of Compose libraries?\n\nThere are three available Compose BOMs. Each BOM is a point-in-time snapshot\nof the latest-available versions of Compose libraries.\n\n- Stable - contains latest stable versions of each library\n- Beta - contains latest beta, release candidate (RC), or stable versions of each library\n- Alpha - contains latest alpha, beta, RC, or stable versions of each library\n\nThe Alpha and Beta versions of the BOM are specified by adding `-alpha` and\n`-beta` to the BOM artifact name. The stable version has no suffix.\n**Note:** The alpha and beta BOMs are provided for testing of upcoming features and bug fixes. They are not intended for production use. These BOMs do not *only* contain alpha and beta versions. If the latest stable version of a library is higher than the latest alpha, beta, or RC versions, that stable version will appear in the alpha and beta BOMs. If the latest version is a Beta or RC, that version will appear in the alpha and beta BOMs. \n\n### Kotlin\n\n```kotlin\ndependencies {\n // Specify the Compose BOM with a version definition\n val composeBom = platform(\"androidx.compose:compose-bom-alpha:2025.08.00\")\n // or platform(\"androidx.compose:compose-bom-beta:2025.08.00\")\n implementation(composeBom)\n // ..\n}\n```\n\n### Groovy\n\n```groovy\ndependencies {\n // Specify the Compose BOM with a version definition\n Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2025.08.00')\n // or platform('androidx.compose:compose-bom-beta:2025.08.00')\n implementation composeBom\n // ..\n}\n```\n\n### How do I report an issue or offer feedback on the BOM?\n\nYou can file issues on our [issue tracker](https://issuetracker.google.com/issues/new?component=612128&template=1253476).\n\nRecommended for you\n-------------------\n\n- Note: link text is displayed when JavaScript is off\n- [Material Design 3 in Compose](/develop/ui/compose/designsystems/material3)\n- [ConstraintLayout in Compose](/develop/ui/compose/layouts/constraintlayout)\n- [Resources in Compose](/develop/ui/compose/resources)"]]