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

Flutter集成agora_rtc_engine报错$enumDecode方法不存在如何解决

报错根因

该错误与agora_rtc_engine的音视频功能逻辑无关,属于依赖版本不兼容问题:$enumDecode是json序列化配套库json_serializable提供的枚举解析方法,高版本json_annotation已移除这个顶层方法,而agora_rtc_engine内置的序列化生成代码仍在调用该旧方法。哪怕升级agora_rtc_engine到最新版本,只要项目内json_annotation版本和agora适配版本不匹配,就会持续触发该报错。

解决步骤
  • 清理项目旧缓存与依赖锁,排除旧配置干扰:
    项目根目录执行命令:
    flutter clean
    
    手动删除项目根目录下的pubspec.lock文件,全系统通用无需额外命令。
  • 配置兼容版本的json_annotation:
    打开项目根目录的pubspec.yaml,在dependencies区块下添加版本约束,agora_rtc_engine 4.x全系列适配的json_annotation稳定版本为4.8.1:
    dependencies:
      flutter:
        sdk: flutter
      # 原有依赖全部保留,新增以下配置
      json_annotation: 4.8.1
    
  • 若项目内其他依赖强制拉高json_annotation版本,直接在pubspec.yaml末尾添加全局覆盖配置,强制全项目使用指定兼容版本:
    dependency_overrides:
      json_annotation: 4.8.1
    
  • 重新拉取项目依赖,根目录执行命令:
    flutter pub get
    
  • 若项目本身使用build_runner生成自有序列化代码,执行命令重新生成代码,避免自有代码与依赖版本冲突:
    flutter pub run build_runner build --delete-conflicting-outputs
    
  • 重新启动运行应用,报错即可消除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.31 20:21:38