Flutter调试启动失败求助:执行flutter clean仍无法解决编译崩溃
Flutter调试编译崩溃(RangeError)解决办法
错误信息
Launching lib\main.dart on Windows in debug mode... lib\main.dart:1 Unhandled exception: Crash when compiling null, at character offset null: RangeError (index): Invalid value: Only valid value is 0: 1 #0 List.[] (dart:core-patch/growable_array.dart:264:36) #1 Class.superclassConstraints (package:kernel/ast.dart:1089:73) #2 SourceClassBuilder.checkMixinApplication (package:front_end/src/fasta/source/source_class_builder.dart:928:52) #3 SourceLoader.checkMixins (package:front_end/src/fasta/source/source_loader.dart:2228:19) #4 KernelTarget.buildOutlines.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:544:14) <asynchronous suspension> #5 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #6 IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end/src/fasta/incremental_compiler.dart:400:33) <asynchronous suspension> #7 IncrementalCompiler.compile (package:vm/incremental_compiler.dart:68:50) <asynchronous suspension> #8 FrontendCompiler.compile (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/frontend_server/lib/frontend_server.dart:562:11) <asynchronous suspension> #9 listenAndCompile.<anonymous closure> (file:///C:/b/s/w/ir/cache/builder/sdk/pkg/frontend_server/lib/frontend_server.dart:1199:11) <asynchronous suspension> 2 #0 List.[] (dart:core-patch/growable_array.dart:264:36) #1 Class.superclassConstraints (package:kernel/ast.dart:1089:73) #2 SourceClassBuilder.checkMixinApplication (package:front_end/src/fasta/source/source_class_builder.dart:928:52) #3 SourceLoader.checkMixins (package:front_end/src/fasta/source/source_loader.dart:2228:19) #4 KernelTarget.buildOutlines.<anonymous closure> (package:front_end/src/fasta/kernel/kernel_target.dart:544:14) <asynchronous suspension> #5 withCrashReporting (package:front_end/src/fasta/crash.dart:122:12) <asynchronous suspension> #6 IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end/src/fasta/incremental_compiler.dart:400:33) <asynchronous suspension> #7 IncrementalCompiler.compile (package:vm/incremental_compiler.dart:68:50)
解决步骤
检查Mixin使用合法性:错误栈指向Mixin应用检查,优先排查所有使用
with关键字的代码:- 确认Mixin未继承自
Object以外的类 - 类使用Mixin时满足Mixin的
on约束条件 - 排查多个Mixin同时使用时的父类约束冲突
- 确认Mixin未继承自
深度清理缓存并重装依赖:
- 执行
flutter clean - 删除项目根目录下的
.dart_tool文件夹(Windows命令:rmdir /s .dart_tool) - 执行
flutter pub get - 可选:执行
flutter pub cache repair修复全局依赖缓存
- 执行
调整Flutter SDK版本:
- 切换到稳定版:
flutter channel stable && flutter upgrade - 若稳定版仍有问题,降级到之前能正常运行的SDK版本
- 切换到稳定版:
排查代码变更:如果是近期修改代码后出现问题,回退到之前正常的代码版本,逐步定位引发错误的Mixin相关代码
重启编辑器:关闭VSCode后重新打开,避免编辑器缓存干扰
内容的提问来源于stack exchange,提问作者SugiuraY
相关产品推荐
相关产品推荐

