我刚刚开始在一个为测试准备的 android(替换 Dagger 2)项目中使用 Koin lib。我对模块中的 android 应用程序上下文有疑问:
val M = module {
val ctx = androidApplication() //here error
}
Koin 在 App 类中启动:
import android.app.Application
import android.content.Context
import org.koin.android.ext.android.startKoin
class App : Application() {
override fun onCreate() {
super.onCreate()
startKoin(this, listOf(M))
}
}
我得到日志:
D/App: onCreate()
I/KOIN: [context] create
E/KOIN: [ERROR] - Error while resolving instance for class 'android.app.Application' - error: org.koin.error.NoBeanDefFoundException: No compatible definition found for type 'Application'. Check your module definition
应用程序崩溃。我在 Koin 的配置中遗漏了什么吗?在目标项目中,我有一些深度依赖于应用程序上下文的模块。而且我不想对这个上下文使用全局引用。