Dagger错误:在Kotlin中提示“Prefer to run the dagger processor over that class instead”
大家好!我正在将一个项目从Java迁移到Kotlin,在使用Dagger 2时遇到了问题。我有一个简单的模块,提供依赖:
```kotlin
@Module
class NetworkModule {
@Provides
@Singleton
fun provideRetrofit(): Retrofit {
return Retrofit.Builder()
.baseUrl("https://api.example.com")
.build()
}
}
@Component(modules = [NetworkModule::class])
@Singleton
interface AppComponent {
fun inject(activity: MainActivity)
}
```
但当我运行构建时,Gradle报错:
`error: [Dagger/DependencyCycle] Prefer to run the dagger processor over that class instead`
我搜索了一下,但所有解决方案要么是针对Java的,要么不适用。我使用的是Kotlin 1.8、Dagger 2.48和kapt。我尝试过清理缓存、重新构建,但都没用。错误正好发生在Dagger组件生成阶段。可能是什么问题?是不是因为我使用了`@Singleton`而没有用`@Reusable`?还是别的什么原因?