【发布时间】:2022-09-27 18:13:59
【问题描述】:
我正在实现 Dagger2,当我使用 @ContributesAndroidInjector 时,我得到了编译时间
错误:@dagger.android.ContributesAndroidInjector was used,but dagger.android.processor.AndroidProcessor was not found on the processor path
我尝试了多种解决方案,但这个错误永远不会消失。我尝试使用旧库
dagger2 依赖项的版本。我尝试创建一个 java 抽象 @Module 类。我
尝试使用 Kotlin android 处理器声明 kapt 依赖项,但没有任何帮助。有人可以帮我摆脱这个错误。以下是我在项目中使用的 Dagger2 的依赖项以供参考:
implementation \"com.google.dagger:dagger:2.35.1\"
implementation \"com.google.dagger:dagger-android:2.35.1\"
implementation \"com.google.dagger:dagger-android-support:2.35.1\"
annotationProcessor \"com.google.dagger:dagger-android-processor:2.35.1\"
kapt \'com.google.dagger:dagger-compiler:2.28.3\'
implementation \'javax.inject:javax.inject:1\'
kapt \"org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.3.0\"
implementation \"androidx.compose.runtime:runtime:1.2.1\"
-
为什么你用
kapt做一个而annotationProcessor做另一个? docs 说要全部使用kapt,而不仅仅是一个,假设您正在使用 Kotlin。我没有看到您的具体错误,但是如果这两个注释处理器不匹配,我可以想象 Kotlin 注释阶段如果在 Android 处理器进入之前遇到@ContributesAndroidInjector会给出该错误。
标签: java android kotlin dependency-injection dagger-2