IncompleteAnnotationException:dagger.提供缺少的元素类型

wal*_*all 11 java gson kotlin dagger

当我添加以下代码时出现错误:

@Singleton @Provides fun provideGson() : Gson {
    return Gson()
}
Run Code Online (Sandbox Code Playgroud)

我真的不知道为什么.

Pet*_*ter 9

将 Dagger 更新到 2.12(从 2.8 开始)后一切正常


use*_*723 4

我在我们的项目中遇到了完全相同的问题。就我而言,这是由 Dagger2 API 的更改引起的:Dagger2 开发人员已从注释中删除了参数。type@Provides

我不小心将新的、不兼容的注释依赖版本(type注释中没有字段)与旧版本的 Dagger2 编译器一起使用。看起来,与某些其他类型的二进制不兼容性(会导致各种运行时Error)不同,与不兼容注释的链接可能会导致IncompleteAnnotationException自省期间。

将 dagger2 编译器更新到与注释相同的版本已经解决了该问题。

  • 好的,终于构建完成了:将 Dagger 更新到 2.12(从 2.8)后,一切正常。谢谢您,如果没有您的提示,我会浪费更多时间来解决这个问题。 (5认同)