美文网首页
APT实践记录-AbstractProcessor

APT实践记录-AbstractProcessor

作者: Cloke73 | 来源:发表于2019-06-19 14:18 被阅读0次

    (转载请注明)
    本文记录在学习使用APT过程中的一些细节点。

    关于APT原理等就不复述了,在实际开发中,AbstractProcessor起到非常重要的作用,编译生成文件的规则都在这里。那么开发时,对于其Debug也必不可少。

    基本操作网上也能找到:

    1. 首先下断点
    2. 配置daemon,在project的gradle.properties中加入配置
    org.gradle.daemon=true
    org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5008
    
    1. 运行daemon,开启相关进程
     ./gradlew --daemon
    

    这一步我碰到个问题,就是一直提示我端口占用

    ERROR: transport error 202: bind failed: Address already in use
    ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
    JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:750]
    

    稍微花了点时间,一开始以为是端口被占用了,直接换了个,然后发现还是不行,用

    lsof -i:
    

    看了一下的确有进程用了这个端口,我直接通过命令确定了一个没被占用的,还是不行,这时候我怀疑是gradle在执行的时候出现了异常,我干脆也不找新的端口了直接手动关掉占用端口的进程。

    Lorin-MBP:AptTest lorin$ lsof -i:5008
    COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
    java    1587 lorin    4u  IPv4 0x49277f066cd1e891      0t0  TCP *:synapsis-edge (LISTEN)
    

    直接关了它

    kill 1587
    

    再次开启进程ok

    Welcome to Gradle 4.10.1.
    To run a build, run gradlew <task> ...
    To see a list of available tasks, run gradlew tasks
    To see a list of command-line options, run gradlew --help
    To see more detail about a task, run gradlew help --task <task>
    For troubleshooting, visit https://help.gradle.org
    BUILD SUCCESSFUL in 5s
    

    4.配置Remote Debugger
    通过Edit ConfigConfigurations,新增一个Remote对象,配置没啥说的,端口和之前开启的进程所用端口一直就ok。


    Remote Debugger配置

    5.开始调试
    这里也花了点时间,最后我先开启了全局debug,就是那额绿色小虫按钮。
    然后执行

    ./gradlew clean assembleDebug
    

    然后断点正常进入


    屏幕快照 2019-06-19 下午2.18.07.png

    可以愉快的开发了。

    相关文章

      网友评论

          本文标题:APT实践记录-AbstractProcessor

          本文链接:https://www.haomeiwen.com/subject/flvhqctx.html