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

安装Melos后Android Studio索引Flutter项目时崩溃求助

解决Flutter+Melos项目中Android Studio索引时的IllegalStateException异常

问题场景

使用Melos管理的Flutter项目,在Android Studio 2021.3.1(Dart插件版本213.7371)中,IDE尝试索引项目时抛出以下异常,导致无法正常使用:

java.lang.IllegalStateException: Exclude folder file://C:/Dev/Projects/mobile-websales-git/.dart_tool must be under content entry file://C:/Dev/Projects/mobile-websales-git/.
    at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ModifiableContentEntryBridge.addExcludeFolder(ModifiableContentEntryBridge.kt:111)
    at com.intellij.workspaceModel.ide.impl.legacyBridge.module.roots.ModifiableContentEntryBridge.addExcludeFolder(ModifiableContentEntryBridge.kt:126)
    at com.intellij.openapi.roots.ModuleRootModificationUtil.lambda$updateExcludedFolders$12(ModuleRootModificationUtil.java:168)
    at com.intellij.openapi.roots.ModuleRootModificationUtil.lambda$updateModel$9(ModuleRootModificationUtil.java:134)
    at com.intellij.openapi.roots.ModuleRootModificationUtil.modifyModel(ModuleRootModificationUtil.java:142)
    at com.intellij.openapi.roots.ModuleRootModificationUtil.updateModel(ModuleRootModificationUtil.java:133)
    at com.intellij.openapi.roots.ModuleRootModificationUtil.updateExcludedFolders(ModuleRootModificationUtil.java:161)
    at com.jetbrains.lang.dart.DartStartupActivity.excludeBuildAndToolCacheFolders(DartStartupActivity.java:97)
    at com.jetbrains.lang.dart.DartStartupActivity.lambda$runActivity$2(DartStartupActivity.java:64)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
    at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:805)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeLater$4(ApplicationImpl.java:348)
...

解决方案

  • 检查并修复模块内容根配置
    打开File > Project Structure > Modules,选中项目根模块,确认Content Root指向项目根目录C:/Dev/Projects/mobile-websales-git/。如果.dart_tool已被错误添加为排除项,先移除它,再重新手动添加到排除文件夹列表。
  • 清除IDE缓存并重启
    执行File > Invalidate Caches... > Invalidate and Restart,让IDE彻底清除旧缓存并重新生成索引配置,多数路径识别类问题都能通过这个操作解决。
  • 调整Dart插件版本适配IDE
    当前Dart插件版本213.7371和AS 2021.3.1属于同系列适配版本,但可能和Melos的多模块结构存在兼容性冲突。可以尝试将Dart插件更新到该IDE版本支持的最新稳定版,或者回退到更适配的旧版本。
  • 重建.dart_tool目录
    关闭Android Studio,手动删除项目根目录下的.dart_tool文件夹,然后在终端执行melos bootstrap(或单个模块执行flutter pub get)重新生成该目录,再打开IDE重新索引项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:30:50