我尝试将图标安装为自定义字体,但每当我尝试运行我的应用程序时,控制台都会告诉我pubspec.yaml文件中有错误。我的字体位置是:myapp / fonts / icomoon.ttf 这是pubspec.yaml文件的相关部分:
fonts:
- family: icomoon
fonts:
-asset: fonts/icomoon.ttf
我收到的错误信息是:
#/ properties / flutter / properties / fonts / items / properties / fonts:type:wanted [array] got {-asset:fonts / icomoon.ttf}构建资产时出错 对于 C:\ Users \用户merli \文件\项目\ WorkoutApp \ MYAPP \构建\应用\中间体\扑\调试/ app.flx
失败:构建因异常而失败。
其中: 脚本' C:\ Users \ merli \ flutter \ packages \ flutter_tools \ gradle \ flutter.gradle'行:441
出了什么问题: 任务执行失败':app:flutterBuildDebug'。
处理'命令' C:\ Users \ merli \ flutter \ bin \ flutter.bat''完成非零退出值1
尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
在4s内建立失败 完成错误:Gradle构建失败:1
答案 0 :(得分:4)
使用YAML时,缩进和格式化非常重要(正如Gunther在评论中已经提到的那样)。我通过an online YAML parser运行了您的代码片段,发现了2个问题:
fonts:
之前的1个额外空格,不应该存在-asset:
需要额外的空间- asset:
。否则对于YAML,它只是一个恰好以-
您收到的错误告诉您,即使fonts
需要一个数组,也会遇到其他问题(上面列表中的第二项)。
以下是我最终的正确表格:
fonts:
- family: icomoon
fonts:
- asset: fonts/icomoon.ttf
答案 1 :(得分:0)
当我尝试添加这样的 Roboto 字体时,我也有同样的行为:
fonts:
- family: Roboto
fonts:
- asset: fonts/Roboto-Regular.ttf
- asset: fonts/Roboto-Bold.ttf
- weight: 700
然后我意识到,我需要按“获取包”按钮(我使用的是 VSCode)。因此,添加后,请务必单击“获取包”按钮。
答案 2 :(得分:0)
添加字体资源后,在 assets
的 pubspec.yaml
部分定义它,您应该重新构建您的项目运行
flutter packages get
,首先
这对我有用..
答案 3 :(得分:-1)
颤动:
生成:true
uses-material-design:true
资产:
- assets/images/
- assets/go-logo.png
- assets/fb-logo.png
字体:
- family: icomoon
-asset icomoon.ttf
- family: Pacifico
fonts
-asset Pacifico-Regular.ttf