Мне действительно нужно использовать Kapt, когда нет кода Kotlin? - PullRequest
0 голосов
/ 25 мая 2018

Причина этого вопроса заключается в следующем: я использовал эту библиотеку , чтобы сделать классы пригодными для разделения на Java, и я решил перенести всю модель на классы kotlin.

Читая некоторую документацию, я понял, что мне нужно использовать KAPT вместо «annotationProcessor».

Проблема: Дело в том, что позже, когда я пытался запустить приложение, у меня начались проблемы с Dagger 2 и Butterknife, которые использовали «annotationProcessor», поскольку они имеют дело с классами JAVA, а не с классами Kotlin.,Чтобы все заработало снова, мне нужно было добавить новую строку в моем файле Gradle для каждого «annotationProcessor», но вместо этого использовать «kapt».

Поэтому мой вопрос: действительно ли мне нужно это делать, если задействован кодв использовании этих рамок чистые классы Java?Можете ли вы объяснить мне причину этого в случае, если мне нужно это сделать?

Спасибо, что нашли время, чтобы прочитать это!

1 Ответ

0 голосов
/ 25 мая 2018

Да, вам нужно это сделать.

Как только вы добавите Kapt в проект, он полностью переходит на обработку аннотаций, так что задачи компиляции Java не будут запускаться ни одним из процессоров аннотаций.Это необходимо для того, чтобы сделать код, сгенерированный из аннотаций на Kotlin и Java, доступным для компилятора Kotlin, который работает до javac.

Поскольку Kapt обрабатывает аннотации в файлах Kotlin и Java, его использование для аннотаций в Java является рекомендуемым способом для проектов Kotlin + Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...