https://github.com/fastforgedev/fastforge
The ultimate all-in-one Flutter application packaging and distribution tool, providing a seamless solution for all your distribution needs.
https://github.com/fastforgedev/fastforge
flutter flutter-distributor
Last synced: 30 days ago
JSON representation
The ultimate all-in-one Flutter application packaging and distribution tool, providing a seamless solution for all your distribution needs.
- Host: GitHub
- URL: https://github.com/fastforgedev/fastforge
- Owner: fastforgedev
- License: mit
- Created: 2021-10-16T08:45:38.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-29T02:38:21.000Z (about 2 months ago)
- Last Synced: 2025-04-13T14:08:17.512Z (30 days ago)
- Topics: flutter, flutter-distributor
- Language: Dart
- Homepage: https://fastforge.dev/
- Size: 1.5 MB
- Stars: 942
- Watchers: 12
- Forks: 153
- Open Issues: 58
-
Metadata Files:
- Readme: README-ZH.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# fastforge
[![pub version][pub-image]][pub-url] [![][discord-image]][discord-url] [](https://github.com/invertase/melos) [![All Contributors][all-contributors-image]](#contributors)
[pub-image]: https://img.shields.io/pub/v/fastforge.svg?style=flat-square
[pub-url]: https://pub.dev/packages/fastforge
[discord-image]: https://img.shields.io/discord/884679008049037342.svg?style=flat-square
[discord-url]: https://discord.gg/zPa6EZ2jqb
[all-contributors-image]: https://img.shields.io/github/all-contributors/fastforgedev/fastforge?color=ee8449&style=flat-square卓越的 [Flutter](https://flutter.dev) 应用打包与发布工具,为您提供一站式解决方案,满足各种分发需求。
> **更名通知:** ~~Flutter Distributor~~ 已更名为 Fastforge。如果您之前使用的是 ~~Flutter Distributor~~,请注意所有功能保持不变,但包名、命令和文档已更新以反映此变更。
---
[English](./README.md) | 简体中文
---
## 文档
完整文档请访问 [fastforge.dev](https://fastforge.dev/zh)。
## 主要特性
- 🚀 一键打包:支持 Android APK/AAB、iOS IPA 等多种格式
- 📦 多平台发布:支持 App Store、Google Play、Firebase、蒲公英、fir.im 等
- 🔄 CI/CD 集成:完美支持 GitHub Actions、GitLab CI 等持续集成平台
- 🛠 灵活配置:支持多环境、多 flavor、自定义构建参数### 支持的打包格式
- **Android**: [AAB](https://fastforge.dev/zh/makers/aab), [APK](https://fastforge.dev/zh/makers/apk)
- **iOS**: [IPA](https://fastforge.dev/zh/makers/ipa)
- **Linux**: [AppImage](https://fastforge.dev/zh/makers/appimage), [DEB](https://fastforge.dev/zh/makers/deb), [RPM](https://fastforge.dev/zh/makers/rpm), Pacman
- **macOS**: [DMG](https://fastforge.dev/zh/makers/dmg), [PKG](https://fastforge.dev/zh/makers/pkg)
- **Windows**: [EXE](https://fastforge.dev/zh/makers/exe), [MSIX](https://fastforge.dev/zh/makers/msix)
- **通用**: [ZIP](https://fastforge.dev/zh/makers/zip)
- 更多格式持续增加中...### 支持的分发平台
- [App Center](https://fastforge.dev/zh/publishers/appcenter)
- [App Store](https://fastforge.dev/zh/publishers/appstore)
- [Firebase](https://fastforge.dev/zh/publishers/firebase)
- [Firebase Hosting](https://fastforge.dev/zh/publishers/firebase-hosting)
- [FIR](https://fastforge.dev/zh/publishers/fir)
- [GitHub Releases](https://fastforge.dev/zh/publishers/github)
- [PGYER](https://fastforge.dev/zh/publishers/pgyer)
- [Play Store](https://fastforge.dev/zh/publishers/playstore)
- [Qiniu](https://fastforge.dev/zh/publishers/qiniu)
- [Vercel](https://fastforge.dev/zh/publishers/vercel)
- 更多平台持续增加中...## 安装
```bash
dart pub global activate fastforge
```## 快速开始
1. 在项目根目录添加 `distribute_options.yaml` 文件:
```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` 命令支持的参数,请根据您的项目需求进行修改。
2. 发布您的应用:
```bash
fastforge release --name dev
```## CLI 命令
### 打包应用
```bash
fastforge package --platform=android --targets=aab,apk
```### 发布应用包
```bash
fastforge publish --path dist/your-app-1.0.0+1-android.apk --targets pgyer
```### 发布(打包 + 发布)
```bash
fastforge release --name dev
```## 示例项目
Fastforge 包含多个示例项目,帮助您快速上手:
- **[hello_world](https://github.com/fastforgedev/fastforge/tree/main/examples/hello_world)** - 演示核心功能的基础示例。
- **[multiple_flavors](https://github.com/fastforgedev/fastforge/tree/main/examples/multiple_flavors)** - 展示如何配置多种应用风格的示例。
- **[custom_binary_name](https://github.com/fastforgedev/fastforge/tree/main/examples/custom_binary_name)** - 展示如何自定义二进制输出名称的示例。## 高级用法
### 环境变量
Fastforge 支持在配置文件中使用环境变量,这对于 API 密钥等敏感信息非常有用:
```yaml
variables:
API_KEY: ${PGYER_API_KEY} # 使用 PGYER_API_KEY 环境变量
```### CI/CD 集成
Fastforge 在 CI/CD 环境中工作良好。例如,使用 GitHub Actions:
```yaml
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 集成示例请查阅[文档](https://fastforge.dev/zh/)。
## 谁在使用?
- [比译](https://biyidev.com/) - 一个便捷的翻译和词典应用。
- [钱迹](https://qianjiapp.com/) - 一款纯粹记账的应用。
- [Airclap](https://airclap.app/) - 任何文件,任意设备,随意发送。简单好用的跨平台高速文件传输 APP。## 参与贡献
欢迎贡献代码!如果您想帮助改进 Fastforge:
1. Fork 仓库
2. 创建您的特性分支 (`git checkout -b feature/amazing-feature`)
3. 提交您的更改 (`git commit -m '添加一些很棒的特性'`)
4. 推送到分支 (`git push origin feature/amazing-feature`)
5. 创建一个 Pull Request请确保适当更新测试并遵循现有的代码风格。
## 贡献者
LiJianying
💻
Zero
💻
Kingkor Roy Tirtho
💻
LAIIIHZ
💻
Tomohiro Ueki
💻
Sven Gehring
💻
GargantuaX
💻
Hiperion
💻
Reuben Turner
💻
Ankit Mahato
📖
Tien Do Nam
💻
zacks
💻
Mohammed CHAHBOUN
💻
Prateek Sunal
💻
lllgm
💻
![]()
Add your contributions
## 许可证
[MIT](./LICENSE)