Spec-Zone.ru › Kotlin 2

Переход с 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 и kapt могут работать одновременно, поэтому вы можете переносить проект поэтапно — по одной библиотеке или модулю за раз.

Добавьте плагин 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 
}

Чтобы узнать последнюю версию KSP, посетите страницу выпусков на GitHub.

Обновите процессор

Найдите модуль, в котором используется процессор, который вы хотите перенести. В файле build.gradle(.kts) этого модуля:

  1. Добавьте KSP в блок plugins {}:

    plugins {
        id("com.google.devtools.ksp")
    }
    
    plugins {
        id 'com.google.devtools.ksp'
    }
    
  2. В блоке 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 читайте в разделе Обзор.

28 апреля 2026 г.
Начало работы с 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API