Still yet

"아직"이란 표현은 무한한 가능성이라고 믿는 개발자

Dev/Android

[Android] How to use Compose compiler plugin (kotlin version "2.0.0" or later)

Stillet 2025. 1. 9. 09:38

안녕하세요

 

코틀린 버전을 "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