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

使用Function12将Figma转Flutter代码时遇AssetManifest导入冲突

解决Flutter中'AssetManifest'重复导入冲突问题

问题本质

这是google_fonts包与Flutter SDK版本不兼容导致的命名冲突问题,属于普遍存在的依赖兼容场景,并非你的业务代码直接引发的问题。Function12生成的代码可能引入了存在冲突的google_fonts版本,从而触发该错误。

可行解决方案

1. 锁定google_fonts到无冲突版本

在项目的pubspec.yaml文件中,将google_fonts的版本指定为^4.0.4(该版本及之后修复了AssetManifest的命名冲突):

dependencies:
  flutter:
    sdk: flutter
  google_fonts: ^4.0.4
  # 其他依赖...

执行命令更新依赖:

flutter pub get

2. 修改google_fonts内部导入逻辑(临时方案)

找到项目依赖中的google_fonts/src/google_fonts_base.dart文件,调整导入语句以避免冲突:

// 替换原有导入
import 'package:flutter/src/services/asset_manifest.dart' hide AssetManifest;
import 'package:google_fonts/src/asset_manifest.dart';

这样会隐藏Flutter SDK中的AssetManifest,只使用google_fonts包内的同名类,解决实例化时的冲突。

3. 升级Flutter SDK到最新稳定版

部分旧版Flutter SDK的AssetManifest类暴露在公共导入路径中,升级到最新稳定版可从根源避免此类命名冲突:

flutter upgrade

常见问题说明

  • 这是普遍问题:不少开发者在使用旧版google_fonts与特定Flutter版本组合时都遇到过该冲突,属于依赖版本兼容问题。
  • 你的业务代码无问题:报错信息指向google_fonts_base.dart而非你编写的代码,冲突来自依赖包内部。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:35:09