약 반 년전에 출시된 Kotlin 2.0.0 버전이 어느 덧 2.0.20 버전을 바라보고 있다.
하지만 그런 와중에도 나의 프로젝트들의 Kotlin 버전은 1.9.0 ..
Kotlin 2.0.0 에 적용된 K2 컴파일러의 효과와 수많은 기능 변화를 사용해보기 위해 프로젝트들의 Kotlin 버전들을 올려보려고 한다.
(이러한 기능은 아래 주소 참조)
https://kotlinlang.org/docs/whatsnew20.html#smart-cast-improvements
What's new in Kotlin 2.0.0 | Kotlin
kotlinlang.org
우선 시작하기 앞서 빌드 결과물이 .Kotlin 폴더에 포함되므로, gitignore 에 추가할지 설정을 해준다.
# gitignore
.kotlin
다음으로 코틀린 버전을 설정해주기 위해 Module - build.gradle.kts 로 이동 후 새로운 코드를 추가해준다.
주석 코드의 경우 앞으로는 사용하지 않으므로 삭제해준다.
# android {
# kotlinOptions {
# jvmTarget = "17"
# }
#}
android {
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
extensions.getByType<KotlinAndroidProjectExtension>().apply {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_17)
}
}
}
이후 Version Catalog 에서 Kotlin Version 을 2.0.x 버전으로 수정해주면 끝.
# Compose 를 사용하는 경우 추가로 해야할 일
만약 컴포즈를 사용하는 경우 Compose Compiler 가 Kotlin 2.0 부터 Kotlin 에 의해 직접 관리되므로 마이그레이션이 추가적으로 필요하다.
# kotlin 과 버전이 같게 설정
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
위 코드를 VersionCatalog 에 추가하고 루트 프로젝트에 아래 코드를 추가해준다
alias(libs.plugins.compose.compiler) apply false
그리고 각 모듈에도 추가로 설정해준다.
plugins {
alias(libs.plugins.compose.compiler)
}
# android {
# composeOptions {
# kotlinCompilerExtensionVersion = "1.5.14"
# }
#}
android {
composeCompiler {
enableStrongSkippingMode = true
includeSourceInformation = true
}
}
주석 부분은 앞으로 사용하지 않을 것이므로 삭제해주면 된다.
# 적용 확인
Android Studio -> Settings -> Other Settings -> Kotlin Compiler 로 들어가 Kotlin compiler version 이 아래 사진처럼 2.0.0 으로 되었는지 확인해보자.
# K2 Complier 적용
위처럼 Kotlin 2.0.0 을 적용했다고 하더라도 K2 Complier 가 자동적으로 적용되지는 않는 듯하다.
Android Studio -> Settings -> Languages & Frameworks -> Kotlin 을 눌러 Enable K2 Kotlin Mode 를 켜주도록 하자.
Reference
- https://medium.com/@l2hyunwoo/kotlin-2-0%EC%9C%BC%EB%A1%9C-%EB%A7%88%EC%9D%B4%EA%B7%B8%EB%A0%88%EC%9D%B4%EC%85%98%ED%95%98%EA%B8%B0-1742f294df51
- https://velog.io/@lifeisbeautiful/Kotlin2.0-K2-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC-%EC%82%AC%EC%9A%A9%ED%95%98
- https://velog.io/@lifeisbeautiful/Kotlin2.0-K2-%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC-%EC%82%AC%EC%9A%A9%ED%95%98
- https://kotlinlang.org/docs/whatsnew20.html#smart-cast-improvements
'프로그래밍 > 안드로이드' 카테고리의 다른 글
[안드로이드] 멀티 모듈을 사용할 때 Build.gradle.kts 설정을 한 번에 하는법 (1) | 2025.02.16 |
---|---|
[Android Studio] Kotlin 2.0.x 버전에서 Unresolved Reference 에러 발생 (1) | 2025.01.05 |
[Android] 깃허브 액션을 통해 자동으로 릴리즈 태그 생성하기 (커밋 기록 포함) (1) | 2024.12.07 |
[Android] 안드로이드 스튜디오에서 제공하는 앱링크의 문제점 (3) | 2024.11.05 |
[Android Studio] Annotation Processor -> KSP 로 마이그레이션 작업하기 (1) | 2024.11.04 |