Android Studio调试Gradle插件详情

 更新时间:2022年09月05日 08:54:19   作者:魔豆先生​​​​​​​  
这篇文章主要介绍了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不显示在输入法上面的办法

    在Android开发中,发现一个问题,打开输入法导致下面的radioGroup的位置发生了变化,被顶到了输入法的上面,那么该如何解决呢?下面来看看。
    2016-08-08
  • Android 自定义View实现单击和双击事件的方法

    Android 自定义View实现单击和双击事件的方法

    下面小编就为大家带来一篇Android 自定义View实现单击和双击事件的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • Android三种方式生成矢量图之VectorDrawable类使用详解

    Android三种方式生成矢量图之VectorDrawable类使用详解

    这篇文章主要介绍了Android三种方式生成矢量图的VectorDrawable类,2014年6月26日的I/O 2014开发者大会上谷歌正式推出了Android L,它带来了全新的设计语言Material Design,新的API也提供了这个类VectorDrawable
    2023-02-02
  • flutter传递值到任意widget(当需要widget嵌套使用需要传递值的时候)

    flutter传递值到任意widget(当需要widget嵌套使用需要传递值的时候)

    这篇文章主要介绍了flutter传递值到任意widget(当需要widget嵌套使用需要传递值的时候),本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • Android开发之自定义View(视图)用法详解

    Android开发之自定义View(视图)用法详解

    这篇文章主要介绍了Android开发之自定义View(视图)用法,结合实例形式分析了Android自定义视图的实现方法与使用注意事项,需要的朋友可以参考下
    2016-10-10
  • Android字符串资源文件format方法使用实例

    Android字符串资源文件format方法使用实例

    本文介绍了Android的资源文件values/strings.xml中如何实现格式化字符串,这里举个简单的例子供大家参考
    2013-11-11
  • Android端实现单点登录的方法详解

    Android端实现单点登录的方法详解

    所谓单点登录就是指的同一个账户(id)不能在一个以上的设备上登录对应的用户系统(排除web端和移动端可以同时登录的情况),例如:用户m在A设备登录并保持登录状态,然后又在B设备登录,此时A应该要强制下线,m无法在A设备上继续执行用户相关的操作,下面来一起看看吧。
    2016-11-11
  • 浅析Android 的 MediaPlayer类

    浅析Android 的 MediaPlayer类

    本文主要介绍了Android的mediaplayer类作用和用法,并附上了关键代码,有需要的朋友可以参考下
    2014-10-10
  • Android动态使用VectorDrawable过程详解

    Android动态使用VectorDrawable过程详解

    这篇文章主要介绍了Android动态使用VectorDrawable过程,2014年6月26日的I/O 2014开发者大会上谷歌正式推出了Android L,它带来了全新的设计语言Material Design,新的API也提供了这个类VectorDrawable
    2023-02-02
  • Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解

    Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解

    这篇文章主要介绍了Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08

最新评论