- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
koin 在我的大多数相同型号的设备上运行良好,但它会导致单个设备崩溃并出现 IllegalStateException,我已将 android 上下文作为 applicationContext,但它仍然会导致崩溃。
在更新到最新版本之前它抛出“Caused by: java.lang.IllegalStateException: KoinApplication has not been started”但是在更新之后
E/AndroidRuntime: FATAL EXCEPTION: main
Process: #######, PID: 31641
java.lang.RuntimeException: Unable to start activity ComponentInfo{###.activities.SplashScreenActivity}: java.lang.IllegalStateException: No Koin Context configured. Please use startKoin or koinApplication DSL.
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3044)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3122)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1819)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6892)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)
Caused by: java.lang.IllegalStateException: No Koin Context configured. Please use startKoin or koinApplication DSL.
at org.koin.core.context.KoinContextHandler.getContext(KoinContextHandler.kt:29)
at org.koin.core.context.KoinContextHandler.get(KoinContextHandler.kt:35)
at org.koin.android.ext.android.ComponentCallbackExtKt.getKoin(ComponentCallbackExt.kt:15)
at org.koin.androidx.viewmodel.ext.android.ViewModelStoreOwnerExtKt.getKoin(ViewModelStoreOwnerExt.kt:63)
at org.koin.androidx.viewmodel.ext.android.ViewModelStoreOwnerExtKt.getViewModel(ViewModelStoreOwnerExt.kt:60)
at .SplashScreenActivity$$special$$inlined$viewModel$1.invoke(ViewModelStoreOwnerExt.kt:45)
at #######.activities.SplashScreenActivity$$special$$inlined$viewModel$1.invoke(Unknown Source:0)
at kotlin.UnsafeLazyImpl.getValue(Lazy.kt:81)
at #########activities.SplashScreenActivity.getMViewModel(Unknown Source:7)
at #########.activities.SplashScreenActivity.onCreate(SplashScreenActivity.kt:86)
at android.app.Activity.performCreate(Activity.java:7147)
at android.app.Activity.performCreate(Activity.java:7138)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1219)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2997)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3122)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1819)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:192)
at android.app.ActivityThread.main(ActivityThread.java:6892)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:875)
我在应用程序类中开始 koin:
开始投币{//声明使用的 Android 上下文androidContext(这个@QairosApplication)//声明模块模块(我的模块)
最佳答案
在您的 list 文件中,您需要提供使用 startKoin{} 的类的名称。例如,如果您在一个名为 BaseApplication 的类中启动 Koin,在您的 list 中,它应该如下所示:
<application
android:name=".BaseApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
在 BaseApplication 类中:
class BaseApplication : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@BaseApplication)
modules(listOf(module1, module2))
}
}
关于android-studio - 没有配置 Koin 上下文。请使用 startKoin 或 koinApplication DSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63385887/
我正在使用两个库,它们具有两个不同版本的 Koin 的依赖项。 其中一个图书馆有 org.koin:koin-android:2.0.1 另一个有 io.insert-koin:koin-core-j
我偶然发现了一个问题,我必须重新初始化我的 Retrofit API 类,因为 URL 发生了变化,所以我想告诉 Koin 重新初始化单个依赖项。我不想使用工厂,因为大多数时候它仍然是单例。 停止和启
收到消息错误 java.lang.RuntimeException: Unable to create application com.app.name.application.MainApplica
我最近删除了 jcenter()来自项目级构建 Gradle 的存储库。 从那时起,Koin(版本:2.2.2)开始给我下面的编译时错误:Could not find org.koin:koin-co
我有一个带有 MVVM 的简单 Android 项目,我正在使用 Koin。这些是我在 gradle 中的版本和依赖项: build.gradle // Koin implementation "or
我有一个模块: single{ (name: String) -> Person(name) } 当我这样做时: val alice: Person by inject {parametersOf("
我想知道如何使用 Koin 库正确地确定依赖关系的范围。 由于谷歌推荐 single Activity architecture AndroidX Navigation lib已成为通过轻松交换 Fr
我正在尝试使用 Koin 制作一个 Android 玩具项目。 我的项目有一个存储库和两个数据源(远程/缓存)。 以下是数据源: interface DataSource class CacheDat
我是测试新手,我将 Koin 改编为我的依赖注入(inject)。我的应用程序运行良好。它仍然具有登录功能。这是我的依赖类 模块.kt val applicationModule = module (
我的android项目中有两个模块,app模块和lib模块。 这两个模块都需要 Koin 进行 D.I.,所以我调用 startKoin在 MyApplication应用模块中的类和IninKoint
在我的 android 应用程序中,我有一个标记为 base 的模块。 base 中有几个类充当生命周期的基类(Controller、ViewModel 等)。我的应用程序在我的项目中与这些本地类一起
我对 Koin 和“androidTest”有疑问。因为 androidTest 启动了应用程序,所以我不需要在测试中自己启动 Koin。 现在我需要注入(inject)一个模拟服务。问题是,我在单例
我在 Android 项目中使用 Koin 作为我的 DI 框架,我想对我的模块进行单元测试。 例如:如果类 A 依赖于 B 和 C,请测试 B 和 C 是否包含在 Koin 图中,以及我是否将它们正
我正在我的 android 应用程序中实现 Koin DI。我成功地创建了一些模块。但是我遇到了一个异常,我试图从模块中的另一个获取对象。 这些是我的模块 val networkModule = mo
我有一个包含不同模块的应用程序,但项目正在增长,我们需要将项目拆分为不同的动态功能模块,因为用户(可能)不需要所有功能。我的问题是 Koin 需要从 Application 类启动应用程序将要加载的所
我正在开发一个新闻应用程序,我想在应用程序类中添加两个模块,但出现以下异常。 java.lang.RuntimeException: Unable to create application yodg
我有一个应用程序,每次用户登录时都会将用户数据保存在 SharedPref 中,但是当用户在前一个帐户注销后使用另一个帐户登录后,koin 仍然会获取以前的用户数据。 我已经检查了我的 createS
在构建基于 Kotlin 的 HTTP 服务器时,我正在尝试使用 Koin。 我正在使用一个框架,您可以在其中通过扩展一些框架提供的抽象类来编写您想要的行为,并在组件生命周期的各个点填写您的实现逻辑(
我是 KotlinPoet 的新手,我找不到如何创建以下 Koin 模块语句: internal val apiModules = module { single { get().create
我正在尝试使用 Koin 作为我的 D.I 来实现权限注入(inject) 但是,当我执行需要 PermissionRepository 的 ViewModel 时,我一直收到错误消息。 No def
我是一名优秀的程序员,十分优秀!