Я использую Koin в модульном приложении , следуя документации этого.Я вызываю startKoin
на моем BaseApplication
на основном модуле:
Приложение
val myModule = module {
factory { MyClass(androidContext()) }
}
override fun onCreate() {
super.onCreate()
startKoin(this, listOf(myModule))
}
И загружаю некоторые другие модули в другие модули с помощью loadKoinModules
:
loadKoinModules(otherModules)
Все работает нормально при первом запуске, но когда я снова открываю приложение, я получаю эту ошибку:
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)
Есть ли способ уничтожить Коин или любой другой способ решения этой проблемы