You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级Gradle至7.3后Flutter项目编译报错,求解决方案

解决sliver_tools与Flutter版本不兼容的编译错误

错误原因

你遇到的问题是sliver_tools 0.2.9版本与当前使用的Flutter版本API不兼容:Flutter更新后,RenderObject.parent的类型从AbstractNode?改为了RenderObject?,但旧版sliver_tools仍在按旧类型赋值,导致类型不匹配和方法调用错误。

解决方案

方案1:升级sliver_tools到兼容版本(推荐)

  • 打开项目根目录的pubspec.yaml文件,找到sliver_tools的依赖项,将版本号修改为**^0.2.10及以上**(该版本已修复此类型兼容问题)。例如:
    dependencies:
      sliver_tools: ^0.2.10
    
  • 执行命令更新依赖:
    flutter pub get
    

方案2:临时修改本地缓存的包文件(应急用)

如果暂时无法升级依赖,可以直接修改本地缓存里的sliver_tools源码:

  • 找到错误提示中的文件路径:../../../.pub-cache/hosted/pub.dev/sliver_tools-0.2.9/lib/src/sliver_stack.dart
  • 编辑第282行,将AbstractNode?替换为RenderObject?:
    final RenderObject? targetParent = renderObject.parent;
    
  • 保存文件后重新编译项目即可。

方案3:检查Flutter版本兼容性

  • 执行flutter doctor确认当前Flutter版本,若版本过高且不想升级依赖,可考虑临时降级Flutter到与sliver_tools 0.2.9兼容的版本(不推荐,长期维护成本高)。

内容的提问来源于stack exchange,提问作者Mahiran Digital

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:32:42