我确实设置了一个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库。
问题是:
AndroidStudio (4.1.3)只能在commonMain中放置在androidMain中时才能找到依赖项。当我运行这个项目时--没有错误--一切正常。这正是Android对它的看法。InjectManager和InjectManager2有相同的代码。为了能够使用自动完成等,我当前的工作流程如下
androidMain
commonMain.代码
InjectManager2仅用于屏幕截图的显示目的。

发布于 2021-10-03 17:07:35
我也有过同样的问题。该应用程序构建并运行良好,但我的.kt文件中出现了各种错误& commonMain包中的类。我可以通过添加相应的import语句来消除它们,即使在代码不在共享模块时它们并不是必需的。
例如,一个文件带有一对ArrayList()实例的错误(未解决的引用),并且在为java.util.ArrayList添加导入后,错误消失了
https://stackoverflow.com/questions/66761569
复制相似问题