Linux Mint下Flutter项目运行报错:文件名过长
解决Linux Mint下Flutter项目编译时"filename too long"导致gradle:compileGroovy失败的问题
这个问题核心是文件系统的文件名长度限制,导致Gradle处理依赖或临时文件时触发错误,以下是几个可行的解决办法:
方法1:缩短Gradle缓存路径
- 打开用户主目录下的
.gradle/gradle.properties文件(没有的话直接新建) - 添加以下配置:
把Gradle缓存移到org.gradle.cache.dir=/tmp/gradle-cache/tmp下,路径更短,避免生成过长的缓存文件路径。
方法2:缩短项目存储路径
- 把你的Flutter项目从深层嵌套的目录里移出来,比如放到
/home/你的用户名/flutter-apps这种短路径下,别放在/home/xxx/documents/work/flutter/projects/my-very-long-app-name/...这种多层目录里。
方法3:修改文件系统的文件名长度限制(需root权限)
- 先查看当前系统的文件名长度上限:执行
getconf NAME_MAX / - 如果上限较低,编辑
/etc/fstab文件,找到对应根分区的行,添加namelen=4096参数,比如:/dev/sda1 / ext4 defaults,namelen=4096 0 1 - 执行
sudo mount -o remount /让修改生效(注意:编辑fstab要仔细,写错可能导致系统无法启动)
方法4:调整Flutter的Gradle构建参数
- 打开项目里的
android/gradle.properties文件,添加:
这个参数能减少Gradle生成的临时文件路径长度,避免触发过长限制。android.useNewApkCreator=false
内容的提问来源于stack exchange,提问作者dvx
相关产品推荐
相关产品推荐

