Android Studio调试Gradle插件详情
前言:
- 使用ASM在编译期修改字节码来完成各种功能(统计方法耗时、全埋点统计...),就需要开发Gradle插件。开发插件中遇到问题排查使用日志输出效率太低了,能断点调试的话就更好了。其实已经有很多文章写了调试插件的方法,但是自己照着他们的步骤下来还是遇到一些问题,把这些问题记录下来方便大家少走弯路。
- Android Studio版本是3.5.2,Gradle版本是3.5.1
1.点击【Run】->【Edit Configurations...】:

2.然后点击左上角的【+】,选择【Remote】:

3.名字随便起,把命令行参数复制下来,【Use module classpath】选择要调试的插件,其他默认即可,然后点击【OK】:

这样服务端就搞好了,稍后我们需要配置客户端调试器让其连接过来,就可以调试了
4.在目标项目新建gradle任务并连接到服务端
在目标项目(即引入插件的那个项目),打开gradle目录,启动模块一般都是app,所以我们展开到【:app】->【Tasks】右击【build】选择create

5. 在打开的界面把第3步复制下来的内容粘贴到【VM options】,并且将suspend=n改为suspend=y然后点击【OK】:

6. 【:app】->【Tasks】->【Run Configgurations】会生成一个任务,最终在最终就是下边这个样子:

7. 现在可以开始调试了,在插件代码里面需要调试的地方打好断点,双击我们新建的gradle任务:

8.将工具栏的运行选项改成我们新建的远程调试那个选项,没有取名字的话默认就是【unnamed】,然后点击启动调试的图标:

启动成功会有如下输出:

9.目标项目的调试器很快就会连接到我们建立的服务端并自动跳转,遇到断点则会断下来:

问题:
- 断点只能进入Plugin的apply方法,不能进入Transform的transform方法,clean项目再执行上面步骤7、8
到此这篇关于Android Studio调试Gradle插件详情的文章就介绍到这了,更多相关Android Studio调试Gradle内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
让Android中RadioGroup不显示在输入法上面的办法
在Android开发中,发现一个问题,打开输入法导致下面的radioGroup的位置发生了变化,被顶到了输入法的上面,那么该如何解决呢?下面来看看。2016-08-08
Android三种方式生成矢量图之VectorDrawable类使用详解
这篇文章主要介绍了Android三种方式生成矢量图的VectorDrawable类,2014年6月26日的I/O 2014开发者大会上谷歌正式推出了Android L,它带来了全新的设计语言Material Design,新的API也提供了这个类VectorDrawable2023-02-02
flutter传递值到任意widget(当需要widget嵌套使用需要传递值的时候)
这篇文章主要介绍了flutter传递值到任意widget(当需要widget嵌套使用需要传递值的时候),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-07-07
Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解
这篇文章主要介绍了Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08


最新评论