Compose Multiplatform开发中commonMain模块文件自动删除求助
解决KMP项目commonMain目录文件无故删除问题
问题还原
- 开发KMP项目时,commonMain模块下手动创建的文件和目录会无故被删除,重启、修复IDE后文件无法恢复,问题已重复出现两次
- 伴随报错:
路径 [/Users/adrianikeaba/Downloads/KMMProject/composeApp/src/commonMain/resources] 已从模块 [KMMProject.composeApp.main] 中移除,另有2个路径被去重。详情查看idea日志
排查与解决步骤
检查模块配置冲突
打开项目根目录或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") } }清理IDE缓存并同步项目
- 执行
File > Invalidate Caches...,选择"Invalidate and Restart"彻底清理IDE缓存 - 重启IDE后执行
File > Sync Project with Gradle Files,确保Gradle配置与IDE完全同步
- 执行
查看日志定位冲突路径
通过Help > Show Log in Finder/Explorer打开Idea日志,搜索"deduplicated"关键词,找到另外2个被去重的路径,确认这些路径是否同时被commonMain和其他模块(如androidMain)引用,导致IDE自动移除重复配置的路径。通过Gradle管理模块结构
不要通过IDE的模块设置窗口手动添加/移除commonMain的路径,所有模块路径配置均通过Gradle脚本完成,IDE会自动同步Gradle配置生成模块结构。临时备份重要文件
在问题彻底解决前,对commonMain下手动创建的文件做本地备份,避免数据重复丢失。
内容的提问来源于stack exchange,提问作者AdrianIK
相关产品推荐
相关产品推荐

