반응형
🔄 Android 프로젝트에서 KAPT → KSP 마이그레이션하기
KAPT는 Kotlin Annotation Processing Tool로 오랫동안 사용되어 왔지만, 느린 빌드 속도와 안정성 문제로 인해 KSP(Kotlin Symbol Processing)가 공식적으로 추천되고 있습니다. 이번 포스팅에서는 kapt에서 ksp로 이전하는 방법과 주의사항, 최신 버전 확인 방법까지 안내드립니다.
✅ KSP란?
KSP는 JetBrains에서 공식 지원하는 컴파일러 플러그인으로, annotation processor가 Kotlin 소스 코드를 더 빠르고 정확하게 분석하고 처리할 수 있도록 돕습니다.
장점:
- 빌드 속도 개선
- Kotlin-first 지원
- Gradle과의 궁합이 더 좋음
🛠️ 마이그레이션 가이드 (예: Room 사용 기준)
1. build.gradle.kts 또는 build.gradle 수정
(1) 플러그인 설정
kotlin
복사편집
// 프로젝트 루트 build.gradle.kts 또는 build.gradle에 추가 pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
(2) 모듈 수준 build.gradle.kts 설정
kotlin
복사편집
plugins { id("com.android.application") id("org.jetbrains.kotlin.android") id("com.google.devtools.ksp") version "1.9.22-1.0.16" // 최신 버전은 아래 링크 참고 }
✅ 기존의 kapt 플러그인은 제거해도 무방합니다.
(3) 의존성 변경
기존:
kotlin
복사편집
implementation("androidx.room:room-runtime:2.6.1") kapt("androidx.room:room-compiler:2.6.1")
변경:
kotlin
복사편집
implementation("androidx.room:room-runtime:2.6.1") implementation("androidx.room:room-ktx:2.6.1") ksp("androidx.room:room-compiler:2.6.1")
2. Source Set 지정 (필요 시)
kotlin
복사편집
android { sourceSets.configureEach { java.srcDirs("build/generated/ksp/${name}/kotlin") } }
🔗 최신 KSP 버전 확인 방법
JetBrains 공식 Maven 저장소에서 KSP 최신 버전 확인 가능:
👉 https://github.com/google/ksp/releases
⚠️ 주의사항
- kapt 기반 라이브러리는 모두 ksp를 지원하지 않습니다. 마이그레이션 전 KSP 지원 여부 확인 필요
- 일부 라이브러리는 ksp-artifact를 별도로 제공합니다 (dagger, hilt 등)
- kapt 전용 옵션이 있다면, ksp 대응 옵션으로 바꿔야 할 수 있음
🧪 마이그레이션 후 테스트
빌드 속도 개선 외에도 ksp가 제대로 동작하는지 다음을 점검하세요:
- Room의 DAO 자동 생성 확인
- 코드 생성 경로: build/generated/ksp/
- Annotation 기반 코드 정상 작동 여부
✨ 마무리
KSP는 앞으로 Kotlin 환경에서 표준이 될 것입니다. kapt에서 ksp로의 전환은 어렵지 않으며, 속도와 안정성 모두에서 이점을 누릴 수 있습니다. 지금 바로 마이그레이션해 보세요!
반응형
'안드로이드 > 구글' 카테고리의 다른 글
2025 Google I/O 총정리 (2) | 2025.05.23 |
---|---|
스튜디오 봇 설치하기 (0) | 2023.09.25 |
안드로이드 10(Q) - Scoped Storage (0) | 2022.10.18 |
[안드로이드] 안드로이드 스튜디오 범블비 업데이트 이후 Gradle 변경사항 (0) | 2022.04.03 |
안드로이드 인앱 업데이트 테스트 방법 (0) | 2022.02.14 |