안녕하세요. 이번 포스팅에서는 제가 저번주부터 시작한 기존 책 검색 및 저장 앱을 Compose를 활용하는 방식으로 migration을 진행하는 것을 기록하려합니다.
최초 적용시 제가 기존에 Android Studio를 돌핀버전으로 사용중이여서 compose 관련 구성요소를 추가할때 sync 과정에서 오류가 발생하였습니다.
Compose 적용시 꼭 Studio 버전을 확인하시기 바랍니다!
1. 프로젝트 단위 gradle
프로젝트 단위의 gradle에서 체크해야할 요소로는 Kotlin 버전을 확인하여 제가 추가할 compose 버전과 맞는 버전으로 맞춰주어야합니다.
plugins {
...
id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
...
}
2. App 단위 gradle
App 단위의 gradle 파일에서는 필요한 compose 종속항목을 dependencies에 추가해주어야합니다.
먼저 컴포즈 기능을 추가하여 빌드할수있게 compose true를 추가합니다.
buildFeatures {
dataBinding true // migration시 기존 Binding 부분도 필요
compose true
}
kotlinCompilerExtensionVersion 는 프로젝트 단위에서 선언한 Kotlin 버전에 맞추어 설정해야합니다. 아래 링크를 참조하여 버전을 추가하시면 됩니다.
https://developer.android.com/jetpack/androidx/releases/compose-kotlin?hl=ko
Compose와 Kotlin의 호환성 지도 | Android 개발자 | Android Developers
Compose와 Kotlin의 호환성 지도 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 종속 항목 선언 Compose 컴파일러에 관한 종속 항목을 추가하려면 프로젝트에 Googl
developer.android.com
composeOptions {
kotlinCompilerExtensionVersion '1.3.2'
}
아래는 UI관련 종속항목들 입니다.
implementation 'androidx.activity:activity-compose:1.3.1'
implementation "androidx.compose.ui:ui:$compose_ui_version"
implementation "androidx.compose.ui:ui-tooling-preview:$compose_ui_version"
implementation 'androidx.compose.material:material:1.1.1'
implementation "androidx.compose.material3:material3:1.0.1"
implementation "androidx.compose.material3:material3-window-size-class:1.0.1"
아래는 테스트코드 관련 종속항목들 입니다.
androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_ui_version"
debugImplementation "androidx.compose.ui:ui-tooling:$compose_ui_version"
debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_ui_version"
이상으로 최초 compose 도입시 프로젝트 및 App 단위의 gradle 파일에 추가해야할 요소들을 알아보았습니다!