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

拥有20个Flavor时如何加速Flutter Clean操作?

Flutter多Flavor场景下优化flutter clean耗时的方案

针对20个Flavor执行flutter clean耗时超10分钟的问题,结合你的M1 MacBook Pro和Flutter 3.0.5/3.3.3环境,提供以下优化方案:

1. 手动拆分clean流程,跳过逐个Flavor的iOS清理

Flutter默认的flutter clean会遍历所有iOS Scheme执行xcodebuild clean,这是耗时的核心原因。可以手动拆分步骤:

  • 清理Flutter核心构建产物:直接删除项目根目录的build/文件夹,或执行flutter clean --android(仅清理Android侧,iOS手动处理)
  • 清理iOS侧所有产物:执行一次全局的xcodebuild clean,无需逐个Scheme处理:
    /usr/bin/arch -arm64e xcrun xcodebuild -workspace ios/Runner.xcworkspace clean
    
    该命令会一次性清理所有Scheme的iOS构建缓存,比逐个执行快数倍。

2. 自定义clean脚本替代默认命令

编写一个shell脚本,只执行必要的清理操作,避免Flutter的冗余流程:
创建clean.sh文件,内容如下:

#!/bin/bash
# 清理Flutter全局build目录
rm -rf build/
# 清理iOS Runner的build目录
rm -rf ios/Runner/build/
# 清理Android侧build目录(按需选择)
rm -rf android/app/build/

赋予脚本执行权限:

chmod +x clean.sh

之后直接运行./clean.sh替代flutter clean,全程耗时可压缩到几十秒内。

3. 升级Flutter版本(按需验证兼容性)

Flutter 3.10及以上版本对多Flavor场景的clean流程做了优化,不再遍历所有Scheme执行iOS清理。如果项目兼容性允许,升级到较新版本可直接解决该问题。升级前建议先在测试分支验证项目构建是否正常。

4. 优化Xcode缓存管理

  • 定期清理Xcode的DerivedData缓存:执行rm -rf ~/Library/Developer/Xcode/DerivedData(注意:这会清理所有Xcode项目的缓存,若仅需清理当前项目,可在Xcode中选择Product > Clean Build Folder)
  • 在Xcode的File > Project Settings中,将DerivedData路径设置到SSD或更快的存储位置,提升缓存清理和构建速度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 09:55:21