如何debug自定义AbstractProcessor

(转载)http://www.jianshu.com/p/80a14bc35000

作为一个Android / Java开发人员,你可能会使用自定义注解来做一些代码生成的工作。Java API已经提供了扫描源码并解析注解的框架,你可以继承AbstractProcessor类来提供实现自己的解析注解逻辑。

在开发时,你可能对如何调试自己的AbstractProcessor有些一筹莫展。本文将介绍如何使用Android Studio和gradle来调试你自己的AbstractProcessor。


第一步,在你代码中对init()方法或process()方法设置代码断点!


设置断点

第二步,设置gradle daemon端口和JVM参数。把下面两行加入到你的gradle.properties文件。
我的gradle.properties文件在哪里?

org.gradle.daemon=true
org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

在命令行中运行gradle daemon来启动守护线程。

gradle --daemon

第三步,在Android Studio建立Remote Debugger并运行它。



Remote Debugger 配置

我们在这里使用默认设置,IP:localhost,端口:5005。一旦你完成并运行它,那它就会连接到daemon线程中了。

最后我们用gradle命令来运行构建。

gradle clean assembleDebug

既然我们已经启动了守护线程,Remote Debugger将触发断点并挂起构建运行。完成!


感谢以下文章!

  1. Debugging an annotation processor in every IDE
  2. Debug an Android annotation processor with gradle and IntelliJ (or Eclipse)
  3. Annotation实战【自定义AbstractProcessor】


文/HunkDeng(简书作者)
原文链接:http://www.jianshu.com/p/80a14bc35000
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值