Java AnnotationProcessor无法使用Gradle 5.1.1生成代码

时间:2019-07-16 14:24:36

标签: java gradle

我在this blog之后编写了一个注释处理器,代码没有问题,但是它不能生成文件,于是我发现是Gradle版本。

我的Gradle设置:

root -> build.gradle:

dependencies {
    classpath 'com.android.tools.build:gradle:3.4.2'
}

gradle / wrapper / gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

因此,当我将Gradle版本降级到4.6时,一切都很好。

我更改的Gradle设置:

root -> build.gradle

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
}

gradle / wrapper / gradle-wrapper.properties:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

我查阅了有关Gradle 5.x的文档,一无所获。是否有某些行为改变会导致此问题?

我想使用Gradle 5.x怎么办?

1 个答案:

答案 0 :(得分:1)

我在升级Android Studio(3.3-> 3.4)时遇到了同样的问题(此升级是从4.10.1-> 5.1.1升级的)。并非完全是4.6,但我注意到从4.6-> 4.10以来没有重大变化,因此我认为以下内容将起作用。 我正在使用kapt,以及我作为Java模块构建的注释处理器。更新前一切正常。

我的解决方法是:
 -将com.google.auto.service:auto-service升级到1.0-rc6
 -将annotationProcessor "com.google.auto.service:auto-service:1.0-rc6"添加到注释处理器的build.gradle文件中。

通过这些找到了我的答案:
-https://github.com/gradle/gradle/issues/7941
-https://github.com/ishaigor/annotation-processor-sample/commit/d7645914b9f53a5f350c7098973f3554c48e75d8

希望这会有所帮助。