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

设置compileSdkVersion 33后出现Bloc类'tokrethrow'未定义错误求解决

解决Bloc类'tokrethrow'未定义错误的方案

问题根源

升级compileSdkVersion到33后,项目依赖的bloc库版本过旧,与新编译环境、Dart/Flutter版本不兼容,导致bloc内部私有API(tokrethrow)无法被正常识别调用。

具体解决步骤

  • 升级bloc相关依赖至最新稳定版
    打开项目根目录的pubspec.yaml,找到bloc、flutter_bloc等相关依赖,将版本号更新为最新稳定版。示例配置:

    dependencies:
      flutter_bloc: ^8.1.3
      bloc: ^8.1.2
    

    执行flutter pub get完成依赖更新。

  • 校验Flutter/Dart版本兼容性
    确保Flutter版本与bloc版本匹配(如bloc 8.x系列要求Flutter 2.10+、Dart 2.16+)。通过flutter doctor查看当前版本,若版本过低,执行升级:

    flutter upgrade
    
  • 清理项目缓存
    缓存异常可能导致依赖加载失败,执行以下命令清理并重新加载依赖:

    flutter clean
    flutter pub get
    
  • 排查自定义Bloc代码的API误用
    若你的代码中直接调用了Bloc类的私有tokrethrow getter(不推荐的做法),需移除该调用,改用bloc库提供的公开API实现对应逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:55:26