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

Compose Multiplatform开发中commonMain模块文件自动删除求助

解决KMP项目commonMain目录文件无故删除问题

问题还原

  • 开发KMP项目时,commonMain模块下手动创建的文件和目录会无故被删除,重启、修复IDE后文件无法恢复,问题已重复出现两次
  • 伴随报错:

路径 [/Users/adrianikeaba/Downloads/KMMProject/composeApp/src/commonMain/resources] 已从模块 [KMMProject.composeApp.main] 中移除,另有2个路径被去重。详情查看idea日志

排查与解决步骤

  1. 检查模块配置冲突
    打开项目根目录或composeApp模块下的build.gradle.kts,确认commonMain的资源路径未错误关联到Android的main模块。KMP模块中,commonMain与androidMain的资源路径需单独配置,避免重叠。示例正确配置:

    sourceSets {
        val commonMain by getting {
            resources.srcDir("src/commonMain/resources")
        }
        val androidMain by getting {
            resources.srcDir("src/androidMain/resources")
        }
    }
    
  2. 清理IDE缓存并同步项目

    • 执行File > Invalidate Caches...,选择"Invalidate and Restart"彻底清理IDE缓存
    • 重启IDE后执行File > Sync Project with Gradle Files,确保Gradle配置与IDE完全同步
  3. 查看日志定位冲突路径
    通过Help > Show Log in Finder/Explorer打开Idea日志,搜索"deduplicated"关键词,找到另外2个被去重的路径,确认这些路径是否同时被commonMain和其他模块(如androidMain)引用,导致IDE自动移除重复配置的路径。

  4. 通过Gradle管理模块结构
    不要通过IDE的模块设置窗口手动添加/移除commonMain的路径,所有模块路径配置均通过Gradle脚本完成,IDE会自动同步Gradle配置生成模块结构。

  5. 临时备份重要文件
    在问题彻底解决前,对commonMain下手动创建的文件做本地备份,避免数据重复丢失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 16:45:56