GitHub CI/CD自动化构建Release APK时如何管理build_runner生成的文件夹?
问题解答
不应该将generated文件夹推送到GitHub,自动生成的构建产物不属于源码范畴,推送会增加仓库冗余,还可能引发版本冲突。正确处理方式是在GitHub CI/CD流程中自动生成这些文件,步骤如下:
在GitHub Actions的yml配置文件中,调整构建顺序:
- 先执行依赖安装命令:
flutter pub get - 运行build_runner生成序列化和本地化相关文件:
flutter pub run build_runner build --delete-conflicting-outputs--delete-conflicting-outputs参数用于自动清理旧的生成文件,避免冲突
- 若使用Flutter官方l10n工具,需额外执行本地化生成命令:
flutter gen-l10n(如果项目用的是intl包的自定义生成命令,替换为对应命令即可,比如flutter pub run intl_utils:generate) - 最后执行Release APK构建命令:
flutter build apk --release
- 先执行依赖安装命令:
确认你的.gitignore文件已包含以下规则,防止误提交生成文件:
lib/generated/ *.g.dart
这样就能解决CI构建时找不到l10n.dart和model.g.dart的问题,同时保持仓库只存储手动编写的源码。
内容的提问来源于stack exchange,提问作者shilpa vania
相关产品推荐
相关产品推荐

