Flutter构建报错:无法写入ink_sparkle.frag文件求助
问题描述
构建Flutter项目时出现写入失败错误:
无法写入文件ink_sparkle.frag,具体信息为无法将文件写入路径
C:\Users\vicsw\Desktop\sa\assd\Mobile app\user app\assd_user_flutter\build\app\intermediates\flutter\debug\flutter_assets\shaders/ink_sparkle.frag
项目根目录build.gradle配置如下:
buildscript { ext.kotlin_version = '1.7.20' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.1.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath 'com.google.gms:google-services:4.3.5' } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
排查与解决步骤
- 检查路径长度与权限:Windows默认限制文件路径长度为260字符,当前路径嵌套过深已接近阈值,大概率触发了长度限制。将项目移动到更短的路径下,比如
C:\projects\assd_user_flutter,避免多层嵌套目录。同时确保项目目录有读写权限,右键目录选择「属性-安全」确认当前用户拥有完全控制权限。 - 修复自定义构建目录冲突:你在
build.gradle中强制将构建目录指向上级目录../build,这会干扰Flutter默认的构建路径解析逻辑。注释或删除以下配置,恢复默认构建目录设置:// rootProject.buildDir = '../build' // subprojects { // project.buildDir = "${rootProject.buildDir}/${project.name}" // project.evaluationDependsOn(':app') // } - 清理缓存后重新构建:执行以下命令彻底清理旧构建缓存,重新拉取依赖并构建:
flutter clean flutter pub get flutter run - 排除文件锁定问题:确认
ink_sparkle.frag所在目录没有被杀毒软件、文件管理器或其他进程锁定,关闭相关程序后重试构建。
内容的提问来源于stack exchange,提问作者mohammed Raad
相关产品推荐
相关产品推荐

