在IDEA/Android Studio中调试Gradle Plugin插件

Posted MichaelX_Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在IDEA/Android Studio中调试Gradle Plugin插件相关的知识,希望对你有一定的参考价值。

本文转载自:milovetingting《在android Studio中调试Gradle插件》http://www.milovetingting.cn/2020/02/25/Android/%E5%9C%A8Android%20Studio%E4%B8%AD%E8%B0%83%E8%AF%95Gradle%E6%8F%92%E4%BB%B6

实践过程碰到的问题记录在最后一段“转载后记”。

前言

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

新增 Run/Debug Configuration

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

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

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

编辑好后,点击OK保存。

创建Run Configuration

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

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

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

调试

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

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

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

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

可以看到已经能断点调试

转载后记

原文链接:《在Android Studio中调试Gradle插件》http://www.milovetingting.cn/2020/02/25/Android/%E5%9C%A8Android%20Studio%E4%B8%AD%E8%B0%83%E8%AF%95Gradle%E6%8F%92%E4%BB%B6/

笔者按:在参照原文实践过程中,有一个问题,就是在 创建Run Configuration 这步过后,没有出现新的task,原因可能是没有执行gradle sync ,执行sync过后,Run Configuration出现了新的debug task。

以上是关于在IDEA/Android Studio中调试Gradle Plugin插件的主要内容,如果未能解决你的问题,请参考以下文章

android studio学习----android studio断点调试

如何在 Android Studio 中禁用 android 本机调试器

无法在 Android Studio 中调试 onPostExecute

在Android Studio中调试Gradle插件

如何在 Microsoft Visual Studio 2019 中调试 nestjs 程序?

在 Visual Studio 中使用命令行参数进行调试