ink_sparkle.frag:1: error: '�' : unexpected token

182 阅读2分钟

记录下载Android studio 2024.3.1 Patch 2版本编译器,运行编译flutter项目时的报错记录及解决方法

  1. 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

尝试解决

  1. 在项目目录下检查fvm flutter doctor是否全部都为正常绿色勾选

  2. 一开始以为是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
    
  3. 多次尝试后,未使用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 

尝试解决:

  1. 项目android文件目录使用Android studio单独打开新窗口,编辑setting中的设置,将JDK版本改为17,我这边是将JDK版本改为我自己重新下载的java17版本并配置了环境变量

android setting.jpg

  1. 还是报错,修改项目android\app对应目录下的build.gradel文件,在android中添加版本号根据项目修改

      android{
          ...
       kotlinOptions {
                    jvmTarget = JavaVersion.VERSION_17
                }     
      }