个人博客

http://www.milovetingting.cn

在Android Studio中调试Gradle插件

前言

在开发Gradle插件时,经常会需要通过调试来排查问题,如果只使用日志输出来定位的话,效率不高,可以通过单步调试来定位问题。关于调试插件的资料,网上比较多,最终经过实践,参照这一篇文章 https://juejin.im/post/5dc8d947e51d455523170b7f 的方法,实现了插件的调试。在此也记录一下具体步骤。至于Gradle插件的开发,可以参照其它的资料,或者参考上一篇文章。

新增 Run/Debug Configuration

通过【Run】-【Edit Configurations】新增Configuration

新增Configuration

在打开的界面,单击左上角的+,选择Remote

新增Configuration2

在编辑界面,复制Command line arguments for remote JVM的配置,选择Use module classpath为需要调试的插件,Name项可以随意。

编辑Configuration

编辑好后,点击OK保存。

创建Run Configuration

在Gradle面板中,为需要引入插件的模块创建Run Configuration。这里以app为例,在app-Tasks-build-build上右击,选择Create …

创建Run Configuration

在打开的编辑界面,将之前复制的参数粘贴进VM options一栏,然后将suspend=n改为suspend=y

创建Run Configuration2

点击OK保存后,gradle面板会增加Run Configurations。

创建Run Configuration3

调试

在需要调试的插件文件中打上断点,如在apply方法中加上断点。

调试

如图,选择之前创建的Remote类型的Configuration,然后点击右侧的Debug

调试2

点击Debug按钮后,会看到Debug面板显示已经连接成功

调试3

gradle面板中,引入插件的模块(此处为app)-Run Configuration下的任务,双击运行

调试4

可以看到已经能断点调试

调试5