Android Dagger 2.25 java.lang.NoClassDefFoundError:Dagger/shaded/auto/common/BasicNotationProcessor
当在Dagger 2.24中编译下面的代码时,所有工作正常。然而,当编译器在Dagger 2.25中运行时,它会出错,声明Android Dagger 2.25 java.lang.NoClassDefFoundError:Dagger/shaded/auto/common/BasicNotationProcessor,android,kotlin,dagger-2,Android,Kotlin,Dagger 2,当在Dagger 2.24中编译下面的代码时,所有工作正常。然而,当编译器在Dagger 2.25中运行时,它会出错,声明java.lang.NoClassDefFoundError:Dagger/shaded/auto/common/BasicOnotationProcessor 我错过什么了吗 我使用的注释 implementation "com.google.dagger:dagger:2.24" kapt "com.google.dagger:dagger-compile
java.lang.NoClassDefFoundError:Dagger/shaded/auto/common/BasicOnotationProcessor
我错过什么了吗
我使用的注释
implementation "com.google.dagger:dagger:2.24"
kapt "com.google.dagger:dagger-compiler:2.24"
// Change 2.24 to 2.25, the error occurs.
这是匕首2的问题。要在文件中修复Dagger 2的一个问题:可能有一个库使用另一个Dagger版本导致冲突如果我使用了
kapt“com.google.Dagger:Dagger android处理器:2.25”
,则没有错误尝试“kapt”com.google.Dagger:Dagger android处理器:2.25”
,不起作用
fun main() {
val myClass = MyClass()
}
class MyClass {
@Inject
lateinit var stringMe: String
init {
DaggerMyComponent.create().subComponent().inject(this)
println(stringMe)
}
}
@Component
interface MyComponent {
fun subComponent(): MySubcomponent
// fun inject(a: MyClass)
}
@Subcomponent(modules = [MeSubModule::class])
interface MySubcomponent {
fun inject(a: MyClass)
}
@Module
class MeSubModule {
@Provides
fun stringMe(): String = "Hi here"
}