开发gradle插件和排查某些问题的时候,偶尔需要调试gradle进程。这时候可以用如下方法来开启调试。
在原本的编译命令后加
-Dorg.gradle.debug=true --no-daemon,-Dorg.gradle.debug=true表示gradle进程启动后等待调试器attach上才开始运行,--no-daemon表示是否开启daemon进程,不加这个参数默认是会开启daemon的。
比如原本的编译命令是./gradlew clean :app:assembleDebug,需要调试的话就变为./gradlew clean :app:assembleDebug -Dorg.gradle.debug=true --no-daemon然后gradle进程启动后就会等待调试器attach了,这时在intellij idea或者android studio 上点击下图所示的按钮,创建Debug Configuration。

点击“+”号,选择Remote,默认会使用5005的端口调试,随意起个名字即可,我这里起名叫”remoteDebug”。

3. 选中remoteDebug,然后点调试即可。
注:
调试kapt的命令如下:
1 | ./gradlew :app:kaptDevDebugKotlin --info --stacktrace --no-daemon -Dkotlin.daemon.jvm.options="-Xdebug,-Xrunjdwp:transport=dt_socket\,address=5005\,server=y\,suspend=y" |