Android에서 KSP 버전 설정하기

김환수·2024년 9월 24일
0

Android Jetpack

목록 보기
2/2

오랜만에 안드로이드 앱을 개발하려는데, 거의 kotlin으로 넘어간 분위기더라구요? 그래서 저도 한 발 걸치려는데 시작부터 지뢰를 밟아서 피해 가시라고 공유드립니다.

version catalog

저처럼 옛날에 gradle을 쓰셨던 분이라면 버전이 없어서 햇갈리실텐데, build.gradle(.kts)와 별도로 libs.versions.toml이라는 파일에서 버전을 관리합니다.

[versions]
junit = "4.13.2"
kotlin = "1.9.24"
ksp = "1.9.24-1.0.20"

[libraries]
junit = { group = "junit", name = "junit", version.ref = "junit" }

[plugins]
google-devtools-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }

조사 중에 이런 걸 보신다면 version catalog를 사용하는 것입니다.

Kotlin ~ KSP ~ compiler

Kotlin 버전마다 호환되는 KSP를 사용하셔야 하고, KSP rel에서 해당 Kotlin과 맞는 버전을 찾아서 그 버전의 KSP를 사용하셔야 합니다.
android.composeOptions.kotlinCompilerExtensionVersion은 Kotlin에 맞게 사용하셔야 합니다. 여기서 볼 수 있습니다.
Kotlin 2.0.0 이상을 사용한다면 compose compiler 대신 별도의 gradle plugin을 쓰셔야 합니다.

jvmTarget, compileOptions

android.compileOptionssourceCompatibility, targetCompatibilityandroid.kotlinOptions.jvmTarget과 같아야 합니다.

다만, 모든 java 버전이 되는 것은 아니고, Files > Project Structure > modules > app.Properties.SourceCompatiblity에서 표시되는 버전들을 사용할 수 있습니다.

24-09-24 기준 1.6, 1.7, 1.8, 11, 17 버전을 쓸 수 있습니다.

저 같은 경우는 Room을 쓰기 위해 KSP를 추가하며 버전 이슈가 생겼습니다. 다른 분들은 버전 관리에 어려움을 겪지 않길 바랍니다.

감사합니다.

profile
ㅇㅋㅇㅋ

0개의 댓글