在库模块中找不到使用 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
瞧。我的项目又可以建了!
我必须在工作时对我的笔记本电脑进行成像。现在该项目将无法构建。其他开发人员可以在同一个提交上继续构建,所以这一定是某个地方的环境问题。
我在我的完全 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
瞧。我的项目又可以建了!