Переход с kapt на KSP
В этом руководстве вы узнаете, как перенести процессоры аннотаций с kapt на KSP, чтобы ваш проект мог в полной мере использовать возможности Kotlin и быстрее собираться.
kapt (Kotlin Annotation Processing Tool) — полезный инструмент, позволяющий использовать процессоры аннотаций Java в Kotlin. Он преобразует исходный код Kotlin в Java-заглушки, а затем запускает процессоры аннотаций для этих заглушек. Однако этот процесс требует значительных ресурсов, существенно увеличивает время сборки и приводит к потере некоторых специфичных для Kotlin возможностей при преобразовании.
В отличие от него, KSP (Kotlin Symbol Processing) — альтернатива kapt, специально разработанная для Kotlin. KSP поддерживает все возможности Kotlin и анализирует исходный код напрямую, сокращая время сборки.
Прежде чем начать, проверьте, поддерживают ли процессоры в вашем проекте KSP. См. список поддерживаемых библиотек или обратитесь к их документации.
Добавьте плагин KSP в проект
Добавьте KSP в блок plugins {} файла build.gradle(.kts) на уровне проекта:
plugins {
id("com.google.devtools.ksp") version "2.3.10" apply false
}
plugins {
id 'com.google.devtools.ksp' version '2.3.10' apply false
}
Обновите процессор
Найдите модуль, в котором используется процессор, который вы хотите перенести. В файле build.gradle(.kts) этого модуля:
-
Добавьте KSP в блок
plugins {}:plugins { id("com.google.devtools.ksp") }plugins { id 'com.google.devtools.ksp' } -
В блоке
dependencies {}заменитеkaptнаksp:dependencies { implementation("com.google.dagger:dagger:2.48") // kapt("com.google.dagger:dagger-compiler:2.48") // KSP processor dependency: ksp("com.google.dagger:dagger-compiler:2.48") }dependencies { implementation 'com.google.dagger:dagger:2.48' // kapt 'com.google.dagger:dagger-compiler:2.48' // KSP processor dependency: ksp 'com.google.dagger:dagger-compiler:2.48' }
Удалите плагин kapt
Перенеся все процессоры на KSP, вы можете безопасно удалить плагин kapt из всех файлов сборки:
plugins {
// Delete this line:
id("org.jetbrains.kotlin.kapt")
}
plugins {
// Delete this line:
id 'org.jetbrains.kotlin.kapt'
}
Удалите все оставшиеся настройки kapt, если они есть.
Что дальше?
Узнайте, как создать собственный процессор аннотаций на основе KSP, в руководстве Начало работы с KSP.
Изучите примеры проектов, использующих KSP, в репозитории KSP.
Подробнее о KSP читайте в разделе Обзор.
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/ksp-kapt-migration.html