简体   繁体   English

重新打开应用程序时出现“ org.koin.error.BeanOverrideException”错误

[英]Get “org.koin.error.BeanOverrideException” error on reopen the app

I'm using Koin on a modular application by following documentation of that. 我通过遵循有关文档模块化应用程序上使用Koin。 I call startKoin on my BaseApplication on the Core-Module: 我在Core-Module的BaseApplication上调用startKoin

Application 应用

val myModule = module {
    factory { MyClass(androidContext()) }
}

override fun onCreate() {
    super.onCreate()
    startKoin(this, listOf(myModule))
}

And load some other modules in other modules by loadKoinModules : 并通过loadKoinModules在其他模块中加载其他模块:

loadKoinModules(otherModules)

All things are ok on first run, but when I reopen the application, I'm getting this error: 第一次运行时一切正常,但是当我重新打开应用程序时,出现此错误:

com.example.app E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.app, PID: 8252
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.app/com.example.app.MainActivity}: org.koin.error.BeanOverrideException: Try to override definition with Factory [name='MyClass',class='com.example.module.MyClass'], but override is not allowed. Use 'override' option in your definition or module.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2957)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3032)
    at android.app.ActivityThread.-wrap11(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1696)
    at android.os.Handler.dispatchMessage(Handler.java:105)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)

Is there any way to destroy Koin or any other way to solving this problem? 是否有任何方法可以销毁Koin或其他解决方案?

Try this: 尝试这个:

val myModule = module(override = true) {
    factory { MyClass(androidContext()) }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Koin Android:org.koin.error.NoBeanDefFoundException - Koin Android: org.koin.error.NoBeanDefFoundException Koin Android:注入存储库时org.koin.error.NoBeanDefFoundException - Koin Android: org.koin.error.NoBeanDefFoundException when Inject Repository org.koin.android.error.MissingAndroidContextException:当尝试使用上下文测试应用程序时 - org.koin.android.error.MissingAndroidContextException: when try to test app with context Android KOIN CRASH - 错误原因:org.koin.core.error.DefinitionOverrideException:已经存在 [Singleton:'java.lang.String' 的定义 - Android KOIN CRASH - Error Caused by: org.koin.core.error.DefinitionOverrideException: Already existing definition for [Singleton:'java.lang.String' 原因:org.koin.core.error.InstanceCreationException:无法为 [type:Factory,primary_type 创建实例 - Caused by: org.koin.core.error.InstanceCreationException: Could not create instance for [type:Factory,primary_type 解决类Koin的实例时出错 - Error while resolving instance for class Koin koin 和 ViewModel 的数据绑定编译错误 - Data binding compilation error with koin and ViewModel [Koin]:实例创建错误:无法为 - [Koin]: Instance creation error : could not create instance for 重复类 Koin org.koin 和 io.insert-koin - Duplicated class Koin org.koin and io.insert-koin 处理基础片段中的 Koin(模块已加载错误) - Handle Koin in base fragment (Module already loaded error)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM