如何解决Flutter构建报Codepoint 984420 not found in font错误?
问题描述
构建Flutter项目的appbundle或apk安装包时,控制台抛出如下报错,执行flutter clean清理项目后重新运行flutter build appbundle构建,问题仍然存在:
Codepoint 984420 not found in font, aborting. FAILURE: Build failed with an exception. * Where: Script 'C:\src\flutter\packages\flutter_tools\gradle\flutter.gradle' line: 1102 * What went wrong: Execution failed for task ':app:compileFlutterBuildRelease'. > Process 'command 'C:\src\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 1m 59s Running Gradle task 'bundleRelease'... 120.1s Gradle task bundleRelease failed with exit code 1
问题根因
该报错核心原因是字体资源加载失败:项目中引用的Unicode码点为984420的字符,在当前加载的字体文件中不存在,导致Flutter构建资源时直接终止。常见触发场景包括:
- 代码中硬编码了错误的
IconData码点值 - 使用的自定义字体文件缺失对应字符,或字体文件本身损坏
- 第三方图标依赖包损坏、版本与当前Flutter SDK不兼容
pubspec.yaml中字体资源配置错误,导致字体加载异常
解决步骤
按以下顺序排查处理即可:
- 执行带详细日志的构建命令
flutter build appbundle --verbose,定位报错前最后加载的字体资源、关联的代码组件,重点排查自行编写的Icon组件传入的codePoint参数、文本中插入的特殊图标/emoji字符,找到错误引用的码点984420后修正为合法值。 - 若问题出在自定义字体:确认使用的字体文件完整包含项目中用到的所有特殊字符,字符缺失则替换为字体支持的字符,或重新导出包含完整字符集的字体文件替换项目中原有资源;若字体文件损坏则重新导入正版完整字体文件。
- 若问题出在内置图标或第三方图标依赖:
- 执行
flutter pub cache repair修复pub缓存中损坏的依赖包文件 - 检查项目引入的第三方图标库(如font_awesome_flutter等扩展图标库)版本与当前Flutter SDK版本是否匹配,不匹配则升降级到兼容版本
- 核对
pubspec.yaml中的字体声明配置,确认字体路径、字重、样式声明和实际文件完全一致,修正错误配置。
- 执行
- 处理完成后重新执行构建命令即可正常打包。
内容的提问来源于stack exchange,提问作者ChilledVibes
相关产品推荐
相关产品推荐

