我确实设置了一个 KMM 项目,如下所述:https ://kotlinlang.org/docs/mobile/getting-started.html
我想在commonMain
模块中放置一些共享类。这些类需要一些依赖项。所以我添加了这里描述的依赖项:https ://kotlinlang.org/docs/mobile/add-dependencies.html#dependency-on-a-library-used-in-specific-source-sets
shared/build.gradle.kts
(缩短)
....
kotlin {
android()
ios {
binaries {
framework {
baseName = "shared"
}
}
}
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect:1.4.31")
}
}
...
val androidMain by getting {
dependencies {
}
}
....
val iosMain by getting
val iosTest by getting
}
}
....
所以我创建了这个InjectManager
使用kotlin-reflect
库的 Helper 类。
问题:
commonMain
AndroidStudio(4.1.3)只有在放置类时才能找到依赖androidMain
。当我运行项目时 - 没有错误 - 一切正常。这就是 Android Studio 的看法。InjectManager
并InjectManager2
具有相同的代码。为了能够使用自动完成等。我目前的工作流程是这样的
- 把班级搬到
androidMain
- 做代码更改
- 拖放回
commonMain
.
InjectManager2
仅用于在屏幕截图上显示。