【发布时间】:2021-08-09 08:10:29
【问题描述】:
我想使用 Java 中的 Koin 库。根据本教程,即使在项目的其余部分中使用 Java,也可以使用 Kotlin 编写 Koin 模块。
https://insert-koin.io/docs/quickstart/android-java/
我还为模块字段使用@JvmField 注释,因为在本教程的源代码中使用它
在我的项目中,我使用koinInjector,这是一个模块列表
import org.koin.android.java.KoinAndroidApplication;
import org.koin.core.KoinApplication;
import static org.koin.core.context.DefaultContextExtKt.startKoin;
import static com.x.y.KoinInjectorKt.koinInjector;
public class App extends Singleton {
@Override
public void onCreate() {
super.onCreate();
KoinApplication koin = KoinAndroidApplication
.create(this)
.modules(koinInjector);
startKoin(koin);
}
}
KoinInjector.kt:
@JvmField
val koinInjector: List<Module> = listOf(
localDbModule,
)
但是在构建过程中我得到了错误:
error: cannot find symbol
import static com.x.y.KoinInjectorKt.koinInjector;
^
symbol: class KoinInjectorKt
location: package com.x.y
【问题讨论】:
-
声明
koinInjector的kotlin文件的文件名是什么? -
KoinInjector。而导入中的名称KoinInjectorKt是自动生成的 -
在构建脚本中可能存在(细微的)差异?你能包括你的
build.gradle文件吗?