如何调试Android Annotation Processor程序

导读:本篇文章讲解 如何调试Android Annotation Processor程序,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

【版权申明】非商业目的可自由转载
博文地址:https://blog.csdn.net/ShuSheng0007/article/details/92795576
出自:shusheng007

概述

当我们开发一个Android Annotation Processor的时候肯定需要调试我们的代码,但是Annotation Processor的执行是与编译并行执行的,所以如果我们只是按照通常的方式简单的打一个断点,代码是不会中断的。

调试方法

我们需要使用远程调试,我们就以上篇文章秒懂Android注解处理器中开发的 AnnotationProcessorToy为例来演示一下如何调试Annotation Processor。

1 配置remote configuration

在Android Studio中配置configuration ,如下图所示
ss
点击+ 号,选择Remote
在这里插入图片描述
给新建的configuration命名,例如命名为APT. 复制蓝色框中的参数,接下来会用到。

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

点击apply 按钮
在这里插入图片描述

2 配置gradle.properties 文件

在gradle.properties文件中添加如下两行内容,第二行的值为上一步蓝框中的内容。

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

3 运行调试

首先选择选择第一步创建的 configuration APT,然后点击debug按钮。

如果一切正常的话,在Console窗口会输出如下内容,表示远程进程已经启动了
在这里插入图片描述
在processor代码中要调试的地方打上断点,然后切换到configuration app ,然后点击debug按钮即可
在这里插入图片描述

note:注意,只有被注解标记的类内容有改变时注解处理器才会执行,所以如果发现断点没有中断,记得改一下源代码。

总结

Annotation Processor的调试主要还是使用了remote调试的技术,Android Stuido的debugger 是运行在自己的进程中,而Annotation Processor 运行在另一个进程中,我们就是通过Remote Debug使得 debugger 可以调试运行在另一个进程中的程序。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/14748.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!