小编aiu*_*eoH的帖子

如何在多个模块中使用 Koin?

我的android项目中有两个模块,app模块和lib模块。

无论这两个模块需要孝允的DI,所以我呼吁startKoinMyApplication类应用模块,并IninKointContentProvider在LIB模块如下。

// app module
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        startKoin(this, modules1)
    }
}

// lib module
class InitKoinContentProvider : ContentProvider() {
    override fun onCreate(): Boolean {
        startKoin(context.applicationContext, modules2)
        return true
    }
}
Run Code Online (Sandbox Code Playgroud)

然后应用程序崩溃并显示此消息

Caused by: org.koin.error.BeanOverrideException: Try to override definition with Single [class='android.content.Context'], but override is not allowed. Use 'override' option in your definition or module.
Run Code Online (Sandbox Code Playgroud)

我猜startKoin只能叫一次。

我找到的解决方案是合并两个 koin 模块然后调用startKoinin MyApplication,但我不喜欢它。库模块可以通过不使用科因,在这种情况下,其他的Android项目导入,我想呼吁startKoin的 …

android kotlin koin

7
推荐指数
3
解决办法
8048
查看次数

为什么我的 android studio 在安装(运行)后没有自动启动应用程序

我通过单击 android studio 上的绿色箭头来构建并运行我的项目,我的应用程序应该自动启动,但它刚刚安装然后什么也没发生。

我已经尝试重新安装 android studio 并创建一个新项目,但它仍然没有修复。

这是我的运行/调试配置(只是默认设置)。

在此输入图像描述

这是 Android 清单

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>
Run Code Online (Sandbox Code Playgroud)

我发现错误信息如下,为什么会断开连接?

04/20 16:37:14: Launching app
$ adb install-multiple -r -t [my project path]\app\build\intermediates\split-apk\debug\slices\slice_2.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_8.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_7.apk [my project path]\app\build\intermediates\resources\instant-run\debug\resources-debug.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_9.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_5.apk [my project path]\app\build\intermediates\split-apk\debug\dep\dependencies.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_6.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_0.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_1.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_4.apk [my project path]\app\build\intermediates\split-apk\debug\slices\slice_3.apk [my project path]\app\build\intermediates\instant-run-apk\debug\app-debug.apk 
Device emulator-5556disconnected, …
Run Code Online (Sandbox Code Playgroud)

android adb android-emulator

6
推荐指数
2
解决办法
4276
查看次数

测试EditText视图是否在Android上没有使用Espresso设置错误文本?

我知道如何测试是否在以下内容中设置了错误文本EditText:

editText.check(matches(hasErrorText("")));
Run Code Online (Sandbox Code Playgroud)

现在我想测试一个EditText没有错误文本集.我试过这个,但它不起作用.

editText.check((matches(not(hasErrorText("")))));
Run Code Online (Sandbox Code Playgroud)

有谁知道这是怎么做到的吗?谢谢!

testing android android-espresso

5
推荐指数
1
解决办法
1098
查看次数