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

Android Studio中Flutter应用构建报错:DecoderCallback类型未找到

问题

在Android Studio中运行Flutter应用时,cached_network_image、flutter_blurhash、flutter_layout_grid等多个包均提示找不到DecoderCallback类型。

已尝试以下修复步骤但未解决:

  • 确认使用最新版本的Flutter
  • 确认使用报错包的最新版本
  • 清除缓存包并重新安装
  • 重建项目

错误日志:

Launching lib\main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
../../../../AppData/Local/Pub/Cache/hosted/pub.dev/cached_network_image-3.2.3/lib/src/image_provider/cached_network_image_provider.dart:78:54: Error: Type 'DecoderCallback' not found.
      image_provider.CachedNetworkImageProvider key, DecoderCallback decode) {
                                                     ^^^^^^^^^^^^^^^
FAILURE: Build failed with an exception.

* Where:
Script 'D:\dev\flutter\flutter\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy' line: 1350

* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'D:\dev\flutter\flutter\bin\flutter.bat'' finished with non-zero exit value 1

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 38s
Exception: Gradle task assembleDebug failed with exit code 1

解决方法

1. 检查Flutter SDK与依赖包的版本兼容性

DecoderCallback是Flutter SDK内置类型,部分旧版依赖包仅适配特定范围的Flutter版本。若你的Flutter版本过高,未及时更新的包可能出现类型找不到的问题:

  • 尝试降级Flutter到上一个稳定小版本(比如当前稳定版为3.13.x,可切换到3.10.x),再重新安装依赖
  • 查看报错包的pub.dev页面,确认其支持的最低Flutter版本,确保SDK版本符合要求

2. 手动指定依赖包的兼容版本

若最新版依赖包与你的Flutter版本不兼容,可在pubspec.yaml中指定该包的特定兼容版本,示例如下:

dependencies:
  cached_network_image: ^3.3.0
  flutter_blurhash: ^0.7.0
  flutter_layout_grid: ^2.0.0

修改后执行flutter pub get重新拉取依赖。

3. 清理深层缓存

执行以下命令彻底清理各类缓存:

  • 清理Flutter项目缓存:flutter clean,同时删除项目根目录下的.dart_tool文件夹
  • 清理Pub全局缓存:dart pub cache clean
  • 清理Gradle缓存:删除项目内android/.gradle文件夹,以及用户目录下的.gradle缓存文件夹(如C:\Users\<你的用户名>\.gradle)

完成后重新执行flutter pub get和flutter run。

4. 检查导入与命名冲突

排查项目中是否存在自定义的DecoderCallback类型或导入冲突:

  • 查看报错文件的导入语句,确保package:flutter/src/painting/image_provider.dart被正确导入
  • 确认项目中没有同名类或typedef覆盖系统的DecoderCallback

5. 重新克隆项目构建

若以上方法均无效,可能是项目文件损坏,尝试重新克隆项目代码、重新配置依赖后再构建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 13:48:27