之所以试一下apt代码的编写,是因为发现几年前写的工程,在新的android studio中debug apt代码时,一直连不上debug环境,提示报错
Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refused: connect"
解决了两天,未果,推测大概率环境问题,google了一下,发现很多android studio的apt文章都是3~5年前的老工程,于是重新建工程,从头到尾试一下。
一、环境
jdk 17
gradle 8.0
android studio 新建 project时,默认即可,如果强行设置成非默认的jdk 或 gradle 版本,会有各种乱七八糟的报错。
比如 gradle 版本过低:
报错 Caused by: org.gradle.api.GradleException: Failed to create Jar file lint-model-31.1.1.jar
android studio Unsupported class file major version 61
二、创建一个简单的apt demo工程
网上有很多示例,不再赘述,这个不是本文重点
三、结果
打上断点,编译工程
终于连接成功了,能debug了
如果调试编译期间的代码,遇到 Unable to open debugger port (localhost:5005): java.net.ConnectException "Connection refused: connect" 报错,尝试解决无果后 不需要再浪费时间在上面,直接新建一个工程试一下即可
注意:
1. 报错 Cannot resolve symbol 'AbstractProcessor' (javax.annotation.processing.AbstractProcess)
删除原来的module,注意新建module 先择java library