在库模块中找不到使用 Dagger 2 和 Proguard 生成的符号

Cannot Find Symbol @Generated Using Dagger 2 and Proguard in Library Module

我必须在工作时对我的笔记本电脑进行成像。现在该项目将无法构建。其他开发人员可以在同一个提交上继续构建,所以这一定是某个地方的环境问题。

我在我的完全 Kotlin 项目中使用 Dagger 2,它有一个 app 模块,然后有一个单独的 data 模块。在启用混淆器的情况下编译 release 构建时,我在 data 库模块的所有生成 类 中收到以下错误(它可能发生在 app 模块也是,但还没有走那么远):

error: cannot find symbol
@Generated(
 ^
  symbol: class Generated
100 errors


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':data:compileProductionReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

我的 data 模块的 build.gradle 文件中包含以下依赖项:

implementation 'com.google.dagger:dagger:2.14.1'
kapt 'com.google.dagger:dagger-compiler:2.14.1'
compileOnly 'org.glassfish:javax.annotation:10.0-b28'

这与我的 app 模块的

相同
implementation 'com.google.dagger:dagger:2.14.1'
kapt 'com.google.dagger:dagger-compiler:2.14.1'
compileOnly 'org.glassfish:javax.annotation:10.0-b28'

两个文件的顶部都有 apply plugin: 'kotlin-kapt'

我尝试过清理构建、使缓存无效并重新启动 Android Studio,但没有成功。我还尝试将额外的 kapt 'com.google.dagger:dagger-android-processor:2.14.1' 添加到 data 模块,但这也没有用。

有什么想法吗?

由于我的笔记本电脑被擦除并且安装的 Java 的唯一版本是 1.10,gradle 的安装使用的是 JDK 的那个版本。 (gradle -v 显示此版本。

为了纠正这个问题,我使用自制软件下载了 Java 8.

brew tap caskroom/versions
brew cask install java8

然后 gradle 使用版本 1.8 我将以下行放入我的 /etc/profile 文件中。

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home"
export PATH=$JAVA_HOME/bin:$PATH

然后我 运行 source /etc/profile 瞧。我的项目又可以建了!