用于flutter的Google字体包无法在发布模式下加载字体

zc0qhyus  于 2022-12-30  发布在  Flutter
关注(0)|答案(2)|浏览(400)

我在flutter应用程序中使用了Google字体包
https://pub.dev/packages/google_fonts
该应用程序在调试模式下运行良好,字体加载没有任何问题。
但是,然而,当我在发布模式下构建和运行应用程序时,字体无法加载。大多数情况下应用程序崩溃,有时会加载默认的Roboto字体。
GitHub上有一些问题,但这些都不能解决我的问题。我试着清理build文件夹,重新检查pubspec.yaml文件,检查google_fonts包的版本,验证互联网连接,甚至重新创建项目,但没有任何解决问题的方法。
版本:

google_fonts: ^1.1.0

我在使用flutter run --release命令运行应用程序时收到此错误日志
下面是我得到的错误:

I/flutter (17872): Error: google_fonts was unable to load font Montserrat-SemiBold because the following exception occured:
I/flutter (17872): Exception: Failed to load font with url: https://fonts.gstatic.com/s/a/5f82f6e55db43e905c6ab9d04395566b243c41798d6a53545ffbd10ed6c424c4.ttf
I/flutter (17872): Error: google_fonts was unable to load font Montserrat-Medium because the following exception occured:
I/flutter (17872): Exception: Failed to load font with url: https://fonts.gstatic.com/s/a/cec0f6e0bfbfaa352eb189f0eb220916dd278b02aaf824be87055ba5cc38d58b.ttf
I/flutter (17872): Error: google_fonts was unable to load font Montserrat-Regular because the following exception occured:
I/flutter (17872): Exception: Failed to load font with url: https://fonts.gstatic.com/s/a/470e93c06a9fffa6851375f54047917a9d774ed6027d9f044cd1bc8d4cd5630b.ttf
3b6akqbq

3b6akqbq1#

这个错误可能有很多原因,但我认为这两个之一是这样的:
1.如果它只发生在android上,那么也许你没有把<uses-permission android:name="android.permission.INTERNET" />添加到你的清单文件中。
1.您所在的国家/地区禁止此服务

ehxuflar

ehxuflar2#

Google Fonts是在运行时从互联网上获取的。因此,要使其工作,您需要有活动的互联网连接。
要克服这个问题,您可以从google font下载字体,并使其在asset folder(即offline)中可用,然后将代码从

// Online Code
Text(
  'This is hammersmithOne from Google Font'
  style: GoogleFonts.hammersmithOne(),
),

// Offline Code
Text(
  'This is hammersmithOne from Google Font',
   style: TextStyle(fontFamily: 'hammersmithOne') // This is loaded from assets
),

如需进一步参考,请参阅this文章。

相关问题