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

Flutter中AssetManifest重复导入导致编译失败求助

解决Flutter中AssetManifest导入冲突问题

问题根源

google_fonts 3.0.1版本内部定义了与Flutter框架同名的AssetManifest类,导致编译时出现命名冲突,常规缓存清理操作无法解决。

解决方案

方案1:升级google_fonts到兼容版本

  • 打开项目根目录的pubspec.yaml文件,将google_fonts的版本指定为4.0.0及以上(例如:google_fonts: ^6.1.0)
  • 执行命令:
    flutter pub get
    

新版本的google_fonts已重命名内部的AssetManifest类,彻底解决了命名冲突问题。

方案2:使用导入别名(无法升级时的临时方案)

如果因依赖限制无法升级包,可通过给导入的类添加别名区分:

  • 在用到AssetManifest的dart文件中,修改导入语句:
    import 'package:flutter/src/services/asset_manifest.dart' as FlutterAsset;
    import 'package:google_fonts/src/asset_manifest.dart' as GoogleFontsAsset;
    
  • 使用时分别通过别名调用:
    // 使用Flutter框架的AssetManifest
    FlutterAsset.AssetManifest flutterManifest = FlutterAsset.AssetManifest();
    // 使用google_fonts的AssetManifest
    GoogleFontsAsset.AssetManifest fontsManifest = GoogleFontsAsset.AssetManifest();
    

方案3:彻底清理缓存

如果升级后仍有残留问题,执行以下命令彻底清理:

flutter clean
flutter pub cache clean
flutter pub get

清理完成后重启IDE,再尝试编译项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 14:35:22