본문 바로가기
안드로이드

[안드로이드] ksp (kotlin symbol processing) 적용기

by keel_im 2021. 9. 8.
반응형

https://android-developers.googleblog.com/2021/09/accelerated-kotlin-build-times-with.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+blogspot%2FhsDu+%28Android+Developers+Blog%29 

 

Accelerated Kotlin build times with Kotlin Symbol Processing 1.0

Posted by Ting-Yuan Huang, Software Engineer and Jiaxiang Chen, Software Engineer Kotlin Symbol Processing (KSP), our new too...

android-developers.googleblog.com

ksp 가 정식으로 릴리즈가 되었습니다. 사실 그 전부터 얘기는 있었는데요,

ksp support library

지금 지원하고 있는 라이브러리는 Room, Moshi, Kotshi, Lyricist 이지만, 앞으로 대거나 힐트가 지원이 된다면 빌드 속도도 그 만큼 빨라지지 않을까 싶습니다. 

사실 안드로이드 카나리의 장점은 이렇게 바로 나오는 것들을 사용해보는 장점이 있어서 좋은 것 같습니다. 

사용방법은 간단합니다. 

apply plugin ksp

1. 프로젝트 gradle 에서는 수정사항이 없고 모듈 gradle 에서 위와 같이 플러그인을 추가해줍니다. 

 

dependencies ksp

2. 그리고 기존에 kapt 로 받았던 room-compiler 의존성을 ksp 로 받아주시기만 하면 됩니다.

이 2가지 스텝으로 적용을 하시면 됩니다. 


저는 data 모듈을 사용하고 힐트를 묶어서 사용하기 때문에 드라마틱한 성능 차이는 확인하지 못했으나, 힐트가 지원이 된다면 정말 좋겠죠 ㅎㅎ

 

**주의**

하지만 적용을 하실 떄, 주의사항이 있습니다.  ksp 를 적용하기 위해서는 Github 에서도 표시가 되어 있지만 1.5.30으로 프로젝트가 설명되어 있기 때문에 이를 맞추어 주시는 것이 있습니다. 

또 여기서 문제가 발생하는데, 저는 Compose 를 같이 쓰고 있었는  Compose 1.0.1 같은 경우 Kotlin 1.5.21 을 지원하기 떄문에 이것에 따른 빌드 이슈가 있을 수 있습니다. 

https://developer.android.com/jetpack/androidx/releases/compose-compiler#1.1.0-alpha03

 

Compose 컴파일러  |  Android 개발자  |  Android Developers

Compose 컴파일러 API 참조 androidx.compose (모든 Compose 패키지는 API 참조 문서 참고) Kotlin 컴파일러 플러그인으로 최적화를 사용 설정하고 @Composable 함수를 변환합니다. 최근 업데이트 현재 안정화 버

developer.android.com

하지만, 최근 컴포즈 컴파일러 1.1.0-alpha03 버전이  코틀린 1.5.30 을 지원하기 때문에 이를 활용하신다면 빌드 이슈를 해결할 수 있을 것이라 생각합니다. 

또 새로운 것을 써보고 활용기를 나누는 시간이 되었으면 좋겠습니다. 

🧶문서는 항상 수정될 수 있습니다. 비판은 환영합니다. 

반응형

댓글