Flutter构建APK时GoogleFonts Poppins字体失效问题求助
解决Flutter构建APK后Poppins字体失效问题
以下是几个针对性的排查和解决方法:
1. 补全主题配置项
确保在ThemeData中同时配置全局字体、文本主题和主文本主题,避免部分组件遗漏字体设置:
ThemeData( fontFamily: GoogleFonts.poppins().fontFamily, textTheme: GoogleFonts.poppinsTextTheme(Theme.of(context).textTheme), primaryTextTheme: GoogleFonts.poppinsTextTheme(Theme.of(context).primaryTextTheme), )
2. 阻止字体资源被树摇移除
Flutter发布构建会自动清理未识别的资源,可能误删Poppins字体。在pubspec.yaml中添加空字体配置,强制保留该字体:
flutter: fonts: - family: Poppins fonts: - asset:
3. 改用本地字体文件
如果依赖网络下载的字体在打包时失败,可手动下载Poppins全字重字体文件,放入项目assets/fonts目录,然后在pubspec.yaml中配置:
flutter: assets: - assets/fonts/ fonts: - family: Poppins fonts: - asset: assets/fonts/Poppins-Regular.ttf - asset: assets/fonts/Poppins-Bold.ttf weight: 700 # 按需添加其他字重文件
之后主题中直接使用fontFamily: 'Poppins'即可,无需依赖google_fonts插件。
4. 清理缓存并更新依赖
- 删除项目根目录的
.dart_tool文件夹,执行flutter pub get重新拉取依赖 - 执行
flutter pub upgrade google_fonts更新插件到最新版本
5. 重新构建APK
先清理旧构建缓存,再执行完整的发布构建:
flutter clean flutter build apk --release
内容的提问来源于stack exchange,提问作者jii
相关产品推荐
相关产品推荐

