android - Flutter:[致命错误]无法使用自定义字体
问题描述
我在正常的颤振运行中没有收到任何错误,但是 apk 崩溃并出现以下错误:
E/flutter (18669): [ERROR:flutter/third_party/txt/src/minikin/FontFamily.cpp(184)] Could not get cmap table size!
E/flutter (18669):
F/flutter (18669): [FATAL:flutter/third_party/txt/src/minikin/FontCollection.cpp(95)] nTypefaces == 0
我已经尝试了我在网上找到的所有解决方案:
- pubspec.yaml 有
uses-material-design: true
- 字体不能损坏,因为它是从GoogleFonts下载的
- 我也试过其他字体都给出同样的错误
- 我检查了我的代码,认为我在引用字体时没有犯任何错误
- 多次尝试flutter clean
pubspec.yaml 片段:
fonts:
- family: Open Sans
fonts:
- asset: Open Sans/OpenSans-Regular.ttf
main.dart 片段:
theme: ThemeData(
primarySwatch: MaterialColor(0xFF8c7ae6, primarySwatch),
primaryColor: Color(0xFF8c7ae6),
brightness: Brightness.light,
fontFamily: 'Open Sans', // using font
textTheme: TextTheme(button: TextStyle(fontWeight: FontWeight.w400)),
appBarTheme: AppBarTheme(
brightness: Brightness.light,
iconTheme: IconThemeData(color: Color(0xFF8c7ae6))),
primaryColorLight: Color(0xFF9c88ff)),
字体文件位于项目级别名为“Open Sans”的文件夹中。
解决方案
我最近和我的同事一起遇到了这个错误,仍然不确定究竟是什么解决了它......但是在重新安装颤振 sdk [这对我来说是有意义的'cpp文件的原因]之后,它已经为同事修复了升级我的颤振版本..
(这是因为您已经尝试过 Flut0101 的答案顺便说一句,因为这是一个常见问题)
推荐阅读
- javascript - 甚至无法在浏览器中运行代码,因为 localhost 拒绝连接
- amazon-web-services - 在移动设备或 Chrome 隐身模式下,静态 s3 站点会出现 403 错误
- amazon-web-services - AWS Appflow <-> Salesforce 集成
- sql - Oracle SQL在单元格中查找最大位数
- android - Android:从 Firebase 下载的 dex 不起作用:“没有找到 dex 位置的原始 dex 文件”
- javascript - 无法提交表单操作,因为它被覆盖隐藏 - 我尝试过 Z-Index 和 Pointer-events:none; CSS/反应
- javascript - 如果 li id 为空,则隐藏 div
- angular - fullPage.js 不会在组件更改时破坏
- java - 是否可以将类存储在Java中的变量中?
- assembly - ascii vs asciz vs string in gas