3 回答
TA贡献1735条经验 获得超5个赞
Dagger 使用auto-common'sGeneratedAnnotations来确定@Generated要使用哪个注释。它根据类路径执行此操作。
这意味着当注解处理器正在运行时,javax.annotation.processing.Generated在生成器中可用并使用,但是当生成的文件在另一个任务中编译时,它不再在类路径上。
潜在原因可能是代码是使用较新版本的 JDK 生成的,并且增量构建无效,需要完整的“清理和重建”,或者注释处理器在 Java 9+ 上运行的 Java 语言级别存在问题,但是android 被编译为 Java 8 或更低版本。
使用./gradlew compileDebugAndroidTestKotlin -Dorg.gradle.java.home=<Android studio jre path>解决了问题。
TA贡献1839条经验 获得超15个赞
如果你有 :
javax注解不存在
我在我的 macOS 上有这个问题,这个错误发生是因为你的 jdk 高于 1.8
只需在您的应用程序的 build.gradle 上添加以下代码。
//Resolve jdk8+ Generation Annotations - javax annotation does not exist
compileOnly 'com.github.pengrad:jdk9-deps:1.0'
TA贡献1805条经验 获得超9个赞
当我将 Android Studio 更新到 4.2 时遇到了这个问题
当我将 Kotlin 版本从 1.3.51 升级到 1.4.31时问题解决了
似乎在这个问题中报告并解决了这个问题:
添加回答
举报
