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

Linux Mint下Snap安装Flutter SDK后运行应用报错如何解决?

解决Snap安装Flutter后Gradle编译因文件名过长失败的问题

问题根源

Snap的沙盒环境对文件路径长度有严格限制,通过Snap安装的Flutter在编译Groovy代码时,生成的嵌套闭包类名(比如FlutterPlugin$_addTasksForOutputsAppLinkSettings_closure13$_closure41$_closure43$_closure44$_closure45$_closure47$_closure54$_closure59$_closure60.class)过长,触发了路径长度超限的错误。

解决方案

方案1:改用官方手动安装(推荐,彻底解决)

  • 卸载Snap版Flutter:
    sudo snap remove flutter
    
  • 下载Flutter SDK稳定版,解压到路径更短的目录(比如~/flutter或/opt/flutter):
    # 示例:下载并解压到用户主目录
    wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.13.9-stable.tar.xz
    tar xf flutter_linux_3.13.9-stable.tar.xz -C ~/
    
  • 将Flutter的bin目录加入系统环境变量:
    echo 'export PATH="$HOME/flutter/bin:$PATH"' >> ~/.bashrc
    source ~/.bashrc
    
  • 运行flutter doctor检查并完成环境配置。

方案2:修改Gradle编译路径(临时 workaround)

如果不想重新安装Flutter,可以通过缩短编译输出路径绕过限制:

  • 打开项目根目录下的android/build.gradle,在buildscript块中添加自定义编译目录配置:
    buildscript {
        // 保留原有配置,新增以下内容
        ext {
            buildDir = "../.gradle-build" // 用更短的路径作为编译输出目录
        }
    }
    
  • 打开android/app/build.gradle,修改android块中的buildDir:
    android {
        buildDir = rootProject.ext.buildDir + "/app"
        // 保留原有其他配置
    }
    
  • 删除旧的编译缓存:
    rm -rf android/.gradle
    rm -rf .gradle-build
    
  • 重新执行flutter run尝试编译运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 15:22:09