Flutter项目根目录下为何存在同名子目录?该目录是否为项目必需?
问题解答
1. 该同名目录的本质
这是Flutter项目构建过程中生成的临时构建产物目录。默认情况下Flutter的所有构建产物都会统一存放在根目录的build文件夹内,你遇到的同名目录情况属于构建输出路径配置异常,导致产物被导出到了根目录下和项目同名的文件夹中,所以目录结构才会和根项目高度一致。
2. 不属于项目必需目录
该目录完全是非必需的,内部所有文件都是编译过程自动生成的,没有任何你手动编写的项目业务源码,日常开发不需要也不应该修改这个目录下的任何文件。
3. 删除后自动生成的原因
只要你执行flutter run、flutter build这类带构建逻辑的命令,就会触发完整的构建流程,只要你没有修正错误的构建输出路径,每次构建都会重新生成这个同名目录。
修复方案
- 先将该同名目录添加到项目根目录的
.gitignore规则中,避免误将构建产物提交到代码仓库 - 检查VSCode Flutter相关插件的配置,确认是否存在自定义构建输出路径的错误配置
- 排查项目内的自定义构建脚本(shell、bat等),看是否指定了错误的输出路径
- 执行
flutter clean命令可以一键清理所有已生成的构建产物,修正输出路径后就不会再生成该同名目录了
内容的提问来源于stack exchange,提问作者Beginner_
相关产品推荐
相关产品推荐

