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

能否在Android项目中创建并添加独立KMP模块?报错求助

将KMP模块作为独立模块添加到Android项目的方法及报错修复

当然可以把KMP(Kotlin Multiplatform)模块作为独立模块集成到Android项目中,既能共享跨平台逻辑,又能和现有Android代码无缝协作。以下是完整操作步骤,以及针对你遇到的Could not resolve project :orderingKmm. Required by: project :app报错的解决办法:

一、创建KMP独立模块

  • 打开Android Studio,在现有Android项目里点击菜单栏 File > New > New Module
  • 在弹出的模块选择窗口中,找到Kotlin Multiplatform分类下的Kotlin Multiplatform Library,点击Next
  • 填写模块名称(比如你用的orderingKmm)、选择存储路径,点击Finish完成创建

二、配置App模块对KMP模块的依赖

  • 打开主App模块的build.gradle.kts(或Groovy版的build.gradle)
  • 在dependencies代码块中添加依赖:
    // KTS语法
    implementation(project(":orderingKmm"))
    
    或者Groovy语法:
    // Groovy语法
    implementation project(':orderingKmm')
    
  • 确保KMP模块的build.gradle.kts里正确配置了Android目标(否则Android项目无法识别该模块):
    plugins {
        id("com.android.library")
        id("org.jetbrains.kotlin.multiplatform")
    }
    
    kotlin {
        androidTarget {
            compilations.all {
                kotlinOptions {
                    jvmTarget = "1.8"
                }
            }
        }
    
        sourceSets {
            val androidMain by getting
            // 按需配置其他源码集(如commonMain、iosMain等)
        }
    }
    
    android {
        // 配置Android库的基本信息,如minSdk、compileSdk等
        namespace = "com.yourpackage.orderingkmm"
        compileSdk = 34
        defaultConfig {
            minSdk = 24
        }
    }
    

三、同步项目验证

点击Android Studio右上角的Sync Project with Gradle Files按钮,等待同步完成。成功后就能在App模块里调用KMP模块的代码了。


解决Could not resolve project :orderingKmm报错

这个报错一般是模块注册或配置问题,按以下顺序排查:

  1. 检查模块注册是否正确
    打开项目根目录的settings.gradle.kts(或settings.gradle),确认已经包含KMP模块的声明:
    include(":app", ":orderingKmm")
    // 如果模块不在根目录下,需要指定路径:
    // project(":orderingKmm").projectDir = file("./modules/orderingKmm")
    
  2. 确认KMP模块配置完整
    检查KMP模块的build.gradle.kts是否正确应用了com.android.library和kotlin.multiplatform插件,缺少的话会导致Android Studio无法识别该模块为可依赖的库。
  3. 清理Gradle缓存
    点击File > Invalidate Caches... > Invalidate and Restart,清理缓存后重新同步项目,很多依赖识别问题都能通过这个方法解决。
  4. 检查模块路径是否正确
    如果是手动复制的KMP模块文件夹,确认它的路径和settings.gradle中声明的一致,路径错误会导致Gradle找不到模块。

内容的提问来源于stack exchange,提问作者Abdo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 00:52:42