卓越的 Flutter 应用打包与发布工具,为您提供一站式解决方案,满足各种分发需求。
Warning
Rust 迁移进行中: Fastforge 的核心正在用 Rust 重写,以实现更好的性能、更小的安装体积,以及对 Dart SDK 零运行时依赖。新的实现位于 crates/ 目录,与现有 Dart 包并行开发。
这对您意味着什么:
- 当前基于 Dart 的 CLI(
dart pub global activate fastforge)仍然可用,并会持续收到问题修复。 - Rust CLI 将以原生二进制文件发布——运行时无需安装 Dart 或 Flutter SDK。
- API 和配置格式设计上保持兼容;任何破坏性变更都会提前明确公告。
- 非常欢迎对 Rust 实现提交贡献、反馈和问题报告——请参阅参与贡献部分。
English | 简体中文
完整文档请访问 fastforge.dev。
- 🚀 一键打包:支持 Android APK/AAB、iOS IPA、OpenHarmony HAP/APP 等多种格式
- 📦 多平台发布:支持 App Store、Google Play、Firebase、蒲公英、fir.im 等
- 🔄 CI/CD 集成:完美支持 GitHub Actions、GitLab CI 等持续集成平台
- 🛠 灵活配置:支持多环境、多 flavor、自定义构建参数
- Android: AAB, APK
- iOS: IPA
- OpenHarmony: HAP, APP
- Linux: AppImage, DEB, RPM, Pacman
- macOS: DMG, PKG
- Windows: EXE, MSIX
- 通用: ZIP
- 更多格式持续增加中...
- App Store
- Firebase
- Firebase Hosting
- FIR
- GitHub Releases
- PGYER
- Play Store
- Qiniu
- Vercel
- 更多平台持续增加中...
dart pub global activate fastforge- 在项目根目录添加
distribute_options.yaml文件:
variables:
PGYER_API_KEY: "your api key" # 替换为您自己的 API 密钥
output: dist/
releases:
- name: dev
jobs:
# 构建并发布 APK 到 PGYER
- name: release-dev-android
package:
platform: android
target: apk
build_args:
target-platform: android-arm,android-arm64
dart-define:
APP_ENV: dev
publish_to: pgyer
# 构建并发布 IPA 到 PGYER
- name: release-dev-ios
package:
platform: ios
target: ipa
build_args:
export-options-plist: ios/dev_ExportOptions.plist
dart-define:
APP_ENV: dev
publish_to: pgyer注意:
build_args是flutter build命令支持的参数,请根据您的项目需求进行修改。
- 发布您的应用:
fastforge release --name devfastforge package --platform=android --targets=aab,apkfastforge publish --path dist/your-app-1.0.0+1-android.apk --targets pgyerfastforge release --name devFastforge 包含多个示例项目,帮助您快速上手:
- hello_world - 演示核心功能的基础示例。
- multiple_flavors - 展示如何配置多种应用风格的示例。
- custom_binary_name - 展示如何自定义二进制输出名称的示例。
Fastforge 支持在配置文件中使用环境变量,这对于 API 密钥等敏感信息非常有用:
variables:
API_KEY: ${PGYER_API_KEY} # 使用 PGYER_API_KEY 环境变量Fastforge 在 CI/CD 环境中工作良好。例如,使用 GitHub Actions:
jobs:
build-and-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: subosito/flutter-action@v2
- name: 安装 Fastforge
run: dart pub global activate fastforge
- name: 构建并发布
run: fastforge release --name production
env:
API_KEY: ${{ secrets.API_KEY }}更详细的 CI/CD 集成示例请查阅文档。
欢迎贡献代码!如果您想帮助改进 Fastforge:
- Fork 仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m '添加一些很棒的特性') - 推送到分支 (
git push origin feature/amazing-feature) - 创建一个 Pull Request
请确保适当更新测试并遵循现有的代码风格。