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

Flutter构建失败:Java堆空间不足致compileDebugKotlin任务执行错误

解决Flutter构建时Java堆空间不足的问题

核心原因

检测到系统环境变量_JAVA_OPTIONS设置的堆内存-Xmx512M过小,导致Jetify转换arm64_v8a_debug相关jar包时内存不足,进而引发app:compileDebugKotlin任务执行失败。

解决方案

1. 调整系统全局_JAVA_OPTIONS环境变量

增大Java虚拟机的堆内存分配:

  • Windows系统:
    打开「系统属性→高级→环境变量」,找到_JAVA_OPTIONS变量,将其值修改为-Xmx2048M(或-Xmx4G,根据电脑内存容量调整)
  • macOS/Linux系统:
    终端执行临时生效命令:
    export _JAVA_OPTIONS="-Xmx2048M"
    
    若要永久生效,编辑~/.bashrc或~/.zshrc文件,添加上述命令后执行source ~/.bashrc(或对应配置文件)

2. 单独配置项目Gradle内存

在Flutter项目的Android模块中指定更大堆内存,避免影响全局设置:

  • 打开项目根目录下的android/gradle.properties,添加或修改以下配置:
    org.gradle.jvmargs=-Xmx2048M -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    
  • 可选:针对Kotlin编译任务单独配置,打开android/app/build.gradle,在android块内添加:
    kotlinOptions {
        jvmArgs = ['-Xmx2048M']
    }
    

3. 清理项目缓存后重新构建

执行以下命令清理缓存并重新启动项目:

flutter clean
flutter run --debug

4. 临时关闭Jetify(谨慎使用)

如果项目没有依赖非AndroidX的第三方库,可以关闭Jetify减少内存消耗:
在android/gradle.properties中设置:

android.enableJetifier=false

注意:若项目依赖旧版非AndroidX库,关闭Jetify会导致兼容性问题,仅在确认无此类依赖时使用


内容的提问来源于stack exchange,提问作者Elhadj slimane HOUACHE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:42:38