不完全注释例外:匕首。提供缺少的元素类型

2022-09-04 03:18:11

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

@Singleton @Provides fun provideGson() : Gson {
    return Gson()
}

我真的不知道为什么。


答案 1

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


答案 2

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

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

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


推荐