记录下载Android studio 2024.3.1 Patch 2版本编译器,运行编译flutter项目时的报错记录及解决方法
- ink_sparkle.frag: GLSL to SPIRV failed
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDevDebug'.
> Process 'command 'C:\Users\fvm\versions\3.27.4\bin\flutter.bat'' finished with non-zero exit value 1
2. Could not determine the dependencies of task ':app:compileBetaDebugKotlin'. > Unknown Kotlin JVM target: 21
问题1场景:
在使用fvm管理flutter版本运行编译项目时flutter包着色器乱码报错
Task :app:compileFlutterBuildBetaDebug Compilation to SkSL failed. C:\Users\fvm\versions\3.27.4\packages\flutter\lib\src\material\shaders\ink_sparkle.frag: GLSL to SPIRV failed; Compilation error. 2 error(s) and 0 warning(s). C:\Users\fvm\versions\3.27.4\packages\flutter\lib\src\material\shaders\ink_sparkle.frag:1: error: '�' : unexpected token C:\Users\fvm\versions\3.27.4\packages\flutter\lib\src\material\shaders\ink_sparkle.frag:1: error: '' : syntax error, unexpected RIGHT_BRACE
尝试解决
-
在项目目录下检查fvm flutter doctor是否全部都为正常绿色勾选
-
一开始以为是fvm的flutter版本包损坏,于是将fvm uninstall 3.27.4对应版本包并重新下载 fvm flutter clean,未解决问题还是报同样的错误
fvm uninstall 3.27.4 fvm install 3.27.4 fvm use 3.27.4 fvm global 3.27.4 fvm list 项目目录>fvm flutter clean 项目目录>fvm flutter pub get -
多次尝试后,未使用fvm进行管理flutter版本,直接下载3.27.4版本flutter_sdk,解决fvm对应flutter版本包着色器文件内乱码编译错误问题
问题2场景:
android studio 2024.3.1版本会默认使用21版本的JVM导致旧项目运行时报错
FAILURE: Build failed with an exception. * What went wrong: Could not determine the dependencies of task ':app:compileBetaDebugKotlin'. > Unknown Kotlin JVM target: 21
尝试解决:
- 项目android文件目录使用Android studio单独打开新窗口,编辑setting中的设置,将JDK版本改为17,我这边是将JDK版本改为我自己重新下载的java17版本并配置了环境变量
-
还是报错,修改项目android\app对应目录下的build.gradel文件,在android中添加版本号根据项目修改
android{ ... kotlinOptions { jvmTarget = JavaVersion.VERSION_17 } }