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任务:

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

启动成功会有以下输出

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

问题

  • 断点只能进入Plugin的apply方法,不能进入Transform的transform方法,clean项目再执行上面步骤七、8
相关文章
相关标签/搜索