【发布时间】:2021-03-23 10:42:53
【问题描述】:
我确实设置了一个 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
}
}
....
所以我创建了这个使用kotlin-reflect 库的InjectManager Helper 类。
问题:
只有当类放在commonMain 中时,AndroidStudio (4.1.3) 才能找到依赖项。当我运行项目时 - 没有错误 - 一切正常。这就是 Android Studio 的看法。 InjectManager 和 InjectManager2 具有相同的代码。为了能够使用自动完成等。我目前的工作流程是这样的
- 将班级移至
androidMain - 进行代码更改
- 拖放回
commonMain。
InjectManager2 仅用于在屏幕截图中显示。
【问题讨论】:
标签: android-studio kotlin kotlin-multiplatform-mobile