이 글은 이후 프로젝트에 써먹기 위해 남긴다.
kapt와 ksp 둘 다 어노테이션 처리 툴이다. kapt는 java의 anotation 처리 프로세서를 사용하여 빌드시간에 영향을 준다. ksp는 코틀린 자체 api로서 코틀린에 더 적합하며 빌드시간이 빠르다고 한다.
어렵지는 않았다. 아래 공식문서를 참고하자.
https://developer.android.com/build/migrate-to-ksp?hl=ko
plugins {
id("com.google.devtools.ksp") version "1.9.22" apply false
}
ksp-1.8.10-1.0.9 is too old for kotlin-1.9.22. Please upgrade ksp or downgrade kotlin-gradle-plugin to 1.8.10.
나는 위에 버전을
'1.8.10-1.0.9'로 했었다. 안드로이드 공식문서 따라서..
나는 코틀린 버전을 1.9.22를 쓰고 있는데, 플러그인 버전과 맞지 않는 문제가 있었다.
아래 링크를 보고 버전을 맞춰보면 될 것이다.
https://github.com/google/ksp/releases
plugins {
id("com.google.devtools.ksp")
}
그리고 모듈 수준에서 dependency에 있는 kapt(...) -> ksp(..) 로 변환하면 된다.
ex) Hilt
변경 전
implementation("com.google.dagger:hilt-android:2.48")
kapt("com.google.dagger:hilt-android-compiler:2.48")
변경 후
implementation("com.google.dagger:hilt-android:2.48")
ksp("com.google.dagger:hilt-android-compiler:2.48")
commit 기록:
https://github.com/rhkrwngud445/Compose_App/commit/fb8206b70a57f2cdc40d163c59c026f781066018