我创建了自己的注释处理器库,该库为用户生成了一个类。但是在使用Dagger2提供这些类时出现了错误。

这是错误消息:

error: cannot find symbol

private Provider<NonExistentClass> provideUserDataProvider;
                   ^
  symbol:   class NonExistentClass
  location: class DaggerAppComponent

谁能解释我如何使用Dagger2注入(inject)生成的类?

最佳答案

默认情况下,Kotlin注释处理器将每个未知符号替换为NonExistentClass

这可能并不适合所有用例。您可以通过将Kapt correctErrorTypes选项设置为true来禁用此行为。

参见:http://kotlinlang.org/docs/reference/kapt.html#non-existent-type-correction

它应该可以解决您的问题。

09-25 21:25