作为一个Android / Java开发人员,你可能会使用自定义注解来做一些代码生成的工作。Java API已经提供了扫描源码并解析注解的框架,你可以继承AbstractProcessor类来提供实现自己的解析注解逻辑。
在开发时,你可能对如何调试自己的AbstractProcessor有些一筹莫展。本文将介绍如何使用Android Studio和gradle来调试你自己的AbstractProcessor。
第一步,在你代码中对init()方法或process()方法设置代码断点!

第二步,设置gradle daemon端口和JVM参数。把下面两行加入到你的gradle.properties文件。(注意:修改后rebuild下工程)
我的gradle.properties文件在哪里?
org.gradle.daemon=true
org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
在命令行中运行gradle daemon来启动守护线程。
gradle --daemon
注意:这一步执行完成之后需要保证出现
BUILD SUCCESSFUL
Total time: 7.991 secs
因为可能会因为gradle版本问题出现启动线程不成功的问题。
第三步,在Android Studio建立Remote Debugger并运行它。(这里的运行是点击debug按钮)


我们在这里使用默认设置,IP:localhost,端口:5005。一旦你完成并运行它,那它就会连接到daemon线程中了。
debug运行截图如下
最后我们用gradle命令来运行构建。(或者直接rebuild工程即可)
gradle assembleDebug
既然我们已经启动了守护线程,Remote Debugger将触发断点并挂起构建运行。完成!
感谢以下文章!