VS Code运行Flutter默认应用编译崩溃,提示空值检查运算符错误
Flutter默认应用在VS Code编译崩溃问题
问题说明
刚接触Flutter,在Visual Studio Code中运行默认Flutter应用时失败,报错信息如下:
Crash when compiling null, at character offset null: Null check operator used on a null value #0 InferableTypeBuilderMixin.type (package:front_end/src/fasta/builder/type_builder.dart:392:29) #1 InferableTypeBuilder.inferType (package:front_end/src/fasta/builder/omitted_type_builder.dart:155:12) #2 SourceLoader.performTopLevelInference (package:front_end/src/fasta/source/source_loader.dart:2358:19) #3 KernelTarget.buildOutlines.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:532:14) <asynchronous suspension> #4 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #5 _buildInternal (package:front_end/src/kernel_generator_impl.dart:139:7) <asynchronous suspension> #6 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #7 generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:47:12) <asynchronous suspension> #8 generateKernel (package:front_end/src/kernel_generator_impl.dart:46:10) <asynchronous suspension> #9 kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:100:11) <asynchronous suspension> #10 SingleShotCompilerWrapper.compileInternal (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:412:11) <asynchronous suspension> #11 Compiler.compile.<anonymous closure> (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:221:45) <asynchronous suspension> #12 _processLoadRequest (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:914:37) <asynchronous suspension> #0 InferableTypeBuilderMixin.type (package:front_end/src/fasta/builder/type_builder.dart:392:29) #1 InferableTypeBuilder.inferType (package:front_end/src/fasta/builder/omitted_type_builder.dart:155:12) #2 SourceLoader.performTopLevelInference (package:front_end/src/fasta/source/source_loader.dart:2358:19) #3 KernelTarget.buildOutlines.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:532:14) <asynchronous suspension> #4 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #5 _buildInternal (package:front_end/src/kernel_generator_impl.dart:139:7) <asynchronous suspension> #6 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #7 generateKernel.<anonymous closure> (package:front_end/src/kernel_generator_impl.dart:47:12) <asynchronous suspension> #8 generateKernel (package:front_end/src/kernel_generator_impl.dart:46:10) <asynchronous suspension> #9 kernelForModule (package:front_end/src/api_prototype/kernel_generator.dart:100:11) <asynchronous suspension> #10 SingleShotCompilerWrapper.compileInternal (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:412:11) <asynchronous suspension> #11 Compiler.compile.<anonymous closure> (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:221:45) <asynchronous suspension> #12 _processLoadRequest (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/vm/bin/kernel_service.dart:914:37) <asynchronous suspension
已知情况:
- 应用在Android Studio可正常运行
flutter doctor检测无异常- 已在VS Code安装Flutter和Dart扩展
解决方案
- 清理VS Code缓存:关闭VS Code,删除对应系统的缓存目录(Windows:
%APPDATA%\Code\Cache、%APPDATA%\Code\CachedData;macOS:~/Library/Caches/Code、~/Library/Application Support/Code/CachedData;Linux:~/.config/Code/Cache、~/.config/Code/CachedData),重启后重试。 - 重置Dart/Flutter扩展设置:打开VS Code设置(快捷键
Ctrl+,/Cmd+,),确认Dart: Sdk Path指向正确的Flutter SDK内Dart目录,随后重置扩展设置,重启VS Code。 - 重新生成依赖:在项目根目录终端执行
flutter clean和flutter pub get,完成后重新运行项目。 - 更新VS Code及扩展:检查VS Code和Flutter、Dart扩展是否为最新版本,更新后重试。
- 切换Flutter通道:执行
flutter channel stable和flutter upgrade,切换到稳定版后重试。
内容的提问来源于stack exchange,提问作者NKS
相关产品推荐
相关产品推荐

