일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 파이썬
- Kotlin
- ViewModel
- 디자인패턴
- 제한함수
- Di
- git
- UnitTest
- 깃
- MVVM
- 컴포즈
- 코딩테스트
- 공격적 프로그래밍
- 테스트의 장점
- Python
- 안드로이드 디자인패턴
- 유닛테스트
- 안드로이드
- rxjava
- 안정성
- Jetpack
- dagger2
- 코틀린
- 자료구조
- 단위테스트
- Room
- Android
- mock
- Observable
- compose
- Today
- Total
세상을 바꾸는 개발자
Compose 공식문서정리(2) - Set up Compose for an existing app(컴포즈 사용하기) 본문
Compose 공식문서정리(2) - Set up Compose for an existing app(컴포즈 사용하기)
헬창코딩 2024. 5. 16. 15:33컴포즈 gradle 설정
Compose를 사용하려면 먼저 프로젝트에 몇 가지 빌드 구성을 추가해야 합니다. 앱의 build.gradle 파일에 다음 정의를 추가합니다
android {
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.13"
}
}
몇 가지 주의해야 할 사항
1. Android BuildFeatures 블록 내에서 compose 플래그를 true로 설정하면 컴파일 기능이 활성화됩니다.2. ComposeOptions 블록에 정의된 Kotlin 컴파일러 확장 버전 관리는 Kotlin 버전 관리와 연동됩니다. 호환성 맵을 참조하여 프로젝트의 Kotlin 버전과 일치하는 라이브러리 버전을 선택해야 합니다.
아래 블록에서 필요한 Compose BOM 및 Compose 라이브러리 종속성의 하위 집합을 종속성에 추가합니다
dependencies {
val composeBom = platform("androidx.compose:compose-bom:2024.05.00")
implementation(composeBom)
androidTestImplementation(composeBom)
// Choose one of the following:
// Material Design 3
implementation("androidx.compose.material3:material3")
// or Material Design 2
implementation("androidx.compose.material:material")
// 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 - Included automatically by material, only add when you need
// the icons but not the material library (e.g. when using Material3 or a
// custom design system based on Foundation)
implementation("androidx.compose.material:material-icons-core")
// Optional - Add full set of material icons
implementation("androidx.compose.material:material-icons-extended")
// Optional - Add window size utils
implementation("androidx.compose.material3:material3-window-size-class")
// Optional - Integration with activities
implementation("androidx.activity:activity-compose:1.9.0")
// Optional - Integration with ViewModels
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.6.1")
// Optional - Integration with LiveData
implementation("androidx.compose.runtime:runtime-livedata")
// Optional - Integration with RxJava
implementation("androidx.compose.runtime:runtime-rxjava2")
}
컴파일 그래들 플러그인 작성
Gradle 사용자의 경우 Compose 컴파일러 Gradle 플러그인을 사용하면 Compose를 더 쉽게 설정하고 구성할 수 있습니다.
참고: Compose 컴파일러 그래들 플러그인은 Kotlin 2.0 이상에서만 사용할 수 있습니다. 마이그레이션 지침은 "Jetpack Compose 컴파일러를 Kotlin 리포지토리로 이동하기"를 참조하세요. 마이그레이션 예제는 샘플 작성에서 샘플 작성 PR을 참조하세요.
[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" }
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler) apply false
}
plugins {
// Existing plugins
alias(libs.plugins.compose.compiler)
}
이제 기본 설정을 사용하는 경우 앱이 빌드 및 컴파일됩니다. 컴파일 컴파일러에서 사용자 지정 옵션을 구성한 경우 다음 섹션을 참조하세요.
버전 카탈로그 없이 컴파일러 Gradle 플러그인을 설정하려면 컴파일을 사용하는 모듈과 연결된 build.gradle.kts 파일에 다음 플러그인을 추가하세요:
plugins {
id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" // this version matches your Kotlin version
}
android { … }
composeCompiler {
enableStrongSkippingMode = true
reportsDestination = layout.buildDirectory.dir("compose_compiler")
stabilityConfigurationFile = rootProject.layout.projectDirectory.file("stability_config.conf")
}
참고 : https://developer.android.com/develop/ui/compose/compiler
'안드로이드 > Compose' 카테고리의 다른 글
Compose 공식문서정리 - Theming (0) | 2024.05.18 |
---|---|
Compose 공식문서정리(3) - Thinking in Compose (0) | 2024.05.17 |
Compose 공식문서정리(1) - Introduction (0) | 2024.05.15 |