Другой ответ в целом правильный, но я нашел https://medium.com/@daptronic/annotation-processing-with-kapt-and-gradle-237793f2be57 полезно для более подробного изучения.
Вы можете запустить что-то вроде этого
./gradlew --no-daemon clean compileDebugKotlin -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5005\,server=y\,suspend=n"
или если вы хотите запустить определенный модуль
./gradlew --no-daemon :modulename:clean :modulename:compileDebugKotlin -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5005\,server=y\,suspend=n"
Сложная часть
На самом деле нам нужно дождаться начала задачи компиляции Kotlin, прежде чем мы подключим отладчик, она не останавливается и не ждет, пока вы подключите отладчик, как в случае с java.
Итак, вы хотите отслеживать свою сборку и искать задачу: :app:kaptDebugKotlin
И когда вы ее видите, сразу же переходите к своей среде IDE и нажимайте отладку в своей удаленной конфигурации. Если вовремя не прикрепиться, задача просто продолжится. У вас есть несколько секунд, чтобы понять это, но заставить все это работать - это немного гонка.
На это у меня ушло ужасно много времени, чтобы разобраться и приступить к работе. Теперь, как только я запускаю команду, я просто перехожу в среду IDE и нажимаю кнопку отладчика, и мне очень повезло, что я подключил ее таким образом.
person
konakid
schedule
24.09.2017