Flutter按Flavor条件打包资源报错求助
解决Flutter按Flavor条件打包资源的报错问题
1. 确认Flutter版本支持
带flavors字段的条件资源配置是Flutter 3.10及以上版本才引入的功能,先运行命令检查当前版本:
flutter --version
如果版本低于3.10,执行升级命令更新到稳定版:
flutter upgrade
2. 修正pubspec.yaml缩进问题
YAML对缩进层级要求严格,需确保path和flavors的缩进与父项保持一致(建议用2个空格缩进),修正后的配置示例:
flutter: assets: - assets/comum/images/ - path: assets/premium/images/ flavors: - premium - path: assets/free/images/ flavors: - free
3. 匹配Flavor命名与项目配置
确保运行项目时指定的flavor名称与pubspec.yaml中flavors字段的名称完全一致(大小写敏感),比如:
- 运行free环境:
flutter run --flavor free
- 运行premium环境:
flutter run --flavor premium
4. 清理缓存并重新构建
缓存异常可能导致资源清单报错,执行以下命令清理后重新构建:
flutter clean flutter pub get flutter build apk --flavor free # 替换为对应flavor名称
5. 验证资源路径有效性
确认assets/premium/images/和assets/free/images/目录存在于项目根目录下,且目录内包含实际资源文件(空目录可能触发空URI报错)。
内容的提问来源于stack exchange,提问作者user121212121
相关产品推荐
相关产品推荐

