Flutter打包Release版APK时pubspec.yaml依赖包未加载问题求助
解决Flutter Release APK依赖未加载(google_fonts失效)问题
基础排查与修复
- 先执行依赖缓存清理与重新拉取,确保所有依赖被正确安装:
flutter clean flutter pub get - 确认Release打包命令无异常,使用标准命令:
避免使用可能跳过依赖处理的自定义参数。flutter build apk --release
针对google_fonts的专项处理
google_fonts在Release模式下易因网络或缓存问题失效,可选择以下两种方案:
本地导入字体文件
- 下载目标字体文件(如Roboto、Open Sans等),放到项目
assets/fonts/目录下 - 在
pubspec.yaml中添加字体配置示例:flutter: assets: - assets/fonts/ fonts: - family: Roboto fonts: - asset: assets/fonts/Roboto-Regular.ttf - asset: assets/fonts/Roboto-Bold.ttf weight: 700 - 代码中直接通过
fontFamily: 'Roboto'指定字体,不再依赖google_fonts的网络加载。
- 下载目标字体文件(如Roboto、Open Sans等),放到项目
配置google_fonts离线模式
- 在
main.dart的初始化代码中添加离线配置:import 'package:google_fonts/google_fonts.dart'; void main() { GoogleFonts.config.allowRuntimeFetching = false; runApp(const MyApp()); } - 执行命令下载字体到本地,确保打包时包含字体文件:
flutter pub run google_fonts:download_fonts
- 在
额外检查项
- 确认
pubspec.yaml无语法错误(YAML对缩进严格,需保证依赖项缩进正确) - 检查
android/app/build.gradle的混淆规则,避免误删依赖代码,可添加:-keep class com.google.fonts.** { *; }
内容的提问来源于stack exchange,提问作者Muhammet Semih Kaya
相关产品推荐
相关产品推荐

