안녕하세요
코틀린 버전을 "2.0.0"버전 이상으로 업데이트 할 때 compose compiler를 build.gradle에서 따로 설정해주는게 아니라 플러그인으로 대체해서 사용할수 있다는걸 확인해서 이 문서를 작성하게 됐습니다.
가장 중요한 부분은 compose를 사용하는 모듈의 build.gradle에서 이미 설정 되어있던 compose compiler 옵션들을 삭제 해야, 추가한 compose compiler plugin과 충돌이 발생하지 않아 정상적으로 빌드가 된다는 것 입니다.
위의 내용만 유의 하신다면 plugin 설정을 잘 끝낼 수 있습니다.
이 내용도 공식문서를 참조했고, 공식 문서의 가이드를 따라가시면 됩니다.
요약하면
1. 버전 카탈로그(libs.versions.toml)를 사용하신다면, 카탈로그에 compose compiler를 [plugins]에 등록합니다. 그때 버전은 코틀린 버전과 동일하게 하시면 됩니다.
[plugins]
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } // 2.0.0
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } // 2.0.0
2. 프로젝트 수준의 build.gradle.kts에서 plugins 항목에 compose compiler plugin을 추가합니다.
plugins {
alias(libs.plugins.compose.compiler) apply false
}
3. 모듈 수준의 build.gradle.kts에서 plugins 항목에 compose compiler plugin을 추가합니다.
4. 모듈 수준의 build.gradle.kts에서 android 항목에 있던 compose 설정을 삭제합니다.
plugins {
alias(libs.plugins.compose.compiler) // 추가
}
android {
buildFeatures {
compose = true // 삭제
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1" // 삭제
}
}
5. 공식문서에서 보면 "Compose 컴파일러 Gradle 플로그인의 구성 옵션" 이라는 부분이 있는데, 이 부분을 진행했더니 빌드 시 에러가 발생했습니다. 이 부분은 추후에 사용했을때 마저 작성하겠습니다.(공식문서에서 가이드한 경로에 폴더가 존재하지 않으면 빌드 시 에러가 발생합니다.)
해당 내용은 공식문서를 참조하여 제가 개인적으로 실행시켜 봤을때 동작한 내용입니다.
혹시 틀린부분이 있거나 알려주실 내용이 있다면 언제든 댓글로 알려주시면 감사하겠습니다.
감사합니다.
참조:
1. https://developer.android.com/develop/ui/compose/compiler?hl=ko
'Dev > Android' 카테고리의 다른 글
[Android Compose] Modifier.weight 사용 시, import 오류 (0) | 2025.01.15 |
---|---|
[Android] migration kapt to ksp (kotlin version later than "1.9.x"⬆️) (0) | 2025.01.08 |