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時問題解決了
似乎在這個問題中報告并解決了這個問題:
添加回答
舉報
