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

Flutter如何启用Build cache?构建耗时过长求助

构建提速解决方案:启用缓存+其他优化技巧

一、启用构建缓存(针对不同主流工具)

Gradle

在项目根目录的gradle.properties文件中添加:

org.gradle.caching=true

若需精细配置缓存策略,可在build.gradle中补充:

buildCache {
    local {
        directory = file("$rootDir/build-cache")
        removeUnusedEntriesAfterDays = 30
    }
}

Maven

使用Maven Build Cache Extension,在项目pom.xml中添加扩展依赖:

<build>
    <extensions>
        <extension>
            <groupId>org.apache.maven.extensions</groupId>
            <artifactId>maven-build-cache-extension</artifactId>
            <version>1.0.0</version> <!-- 替换为最新稳定版 -->
        </extension>
    </extensions>
</build>

随后在settings.xml或项目.mvn/maven.config中启用缓存:

-Dmaven.build.cache.enabled=true

Webpack

在webpack.config.js中开启持久化缓存:

module.exports = {
    cache: {
        type: 'filesystem', // 文件系统缓存比内存缓存更持久
        buildDependencies: {
            config: [__filename] // 配置文件变更时自动重置缓存
        }
    }
};

npm/yarn 前端项目

npm 7+默认启用缓存,若曾手动禁用可在.npmrc中恢复:

cache=true
cache-dir=./.npm-cache

Yarn无需额外配置,若缓存异常可执行yarn cache clean清理旧缓存后重新构建。

二、其他加速构建的实用技巧

  • 增量构建:确保构建工具开启增量模式(多数工具默认启用,若手动关闭需恢复),仅重新编译修改过的文件,避免全量重复构建。
  • 并行构建:Gradle在gradle.properties中加org.gradle.parallel=true;Maven执行时加参数-T 1C(按CPU核心数分配任务);Webpack给loader配置parallel: true。
  • 精简依赖:用gradle dependencies --scan或npm ls分析依赖树,剔除未使用的依赖;将依赖按compileOnly(仅编译用)和implementation(运行时用)分类,缩小编译范围。
  • 跳过非核心任务:临时构建时跳过测试、lint、签名等步骤,比如gradle build -x test、mvn package -DskipTests,正式发布再执行全流程。
  • 升级工具版本:新版本构建工具通常有性能优化,比如Gradle 7+缓存效率大幅提升,Webpack 5的持久化缓存更稳定。
  • 切换国内镜像源:将依赖源换成阿里云Maven镜像、淘宝npm镜像等,避免依赖下载缓慢拖慢构建。
  • 硬件优化:给构建机器增加内存(Java类构建工具建议至少4G内存),使用SSD存储提升文件读写速度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:12:07