You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android项目无法访问commonMain中的代码,求解决方案

KMM普通Android项目shared模块commonMain类无法访问的解决步骤

根项目配置检查

  • 确认根目录settings.gradle中已配置Kotlin多平台插件的仓库与依赖,普通Android项目默认没有该配置,需添加:
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
        plugins {
            id("com.android.application") version "你的Android插件版本"
            id("org.jetbrains.kotlin.multiplatform") version "你的Kotlin版本"
        }
    }
    
    同时确保shared模块已被正确引入:
    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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 08:07:11