Android项目无法访问commonMain中的代码,求解决方案
根项目配置检查
- 确认根目录
settings.gradle中已配置Kotlin多平台插件的仓库与依赖,普通Android项目默认没有该配置,需添加:
同时确保shared模块已被正确引入:pluginManagement { repositories { google() mavenCentral() gradlePluginPortal() } plugins { id("com.android.application") version "你的Android插件版本" id("org.jetbrains.kotlin.multiplatform") version "你的Kotlin版本" } }include(":app", ":shared")
Android app模块依赖调整
普通Android模块默认仅识别shared的Android源集,需明确依赖commonMain产物,在app模块的build.gradle中修改依赖:
implementation(project(":shared")) // 若上述配置不生效,可添加更明确的依赖声明 implementation(project(":shared").kotlin.sourceSets["commonMain"].output)
源集结构与缓存清理
- 验证shared模块目录结构符合KMM规范,确保
commonMain下存在kotlin目录,且类的包名与Android模块包名层级兼容:shared/ └── src/ ├── commonMain/ │ └── kotlin/ │ └── 你的包路径/ │ └── Shared.kt └── androidMain/ - 执行
File -> Sync Project with Gradle Files同步配置,若仍无效,删除项目根目录.gradle文件夹及各模块build文件夹,重新构建项目
内容的提问来源于stack exchange,提问作者AndreiBogdan
相关产品推荐
相关产品推荐

