介绍
Flutter Distributor 是一个完整的工具,用于打包和发布您的 Flutter 应用。只需通过一些简单的配置便可以让你的项目可以快速的打包保存到指定目录及发布到指定的分发平台。
开发这个工具的起因是由于我的个人作品比译发布后,需要将它打包为 Linux,macOS 和 Windows 的平台特定的包格式并发布到 GitHub Releases,起初写了打包脚本,但后面需要支持的格式越来越多,每次版本发布都需要花费大量的时间。因此从最初的脚本开始慢慢演变为 Flutter Distributor,从第一行代码到现在已经过去了近两个半月,今天终于可以拿出来介绍给大家,希望这个工具可以帮助到大家。
特性
- 将应用打包为特定平台的格式(同时支持桌面端),并将放入指定文件夹中。
- 支持应用包文件按指定格式命名
- 将应用包发布到指定的分发平台(目前只支持 apk, ipa 两种格式)
已支持的包格式
以上 apk, aab, ipa 为移动软件包格式,其他为桌面软件包格式。
已支持的分发平台
快速开始
安装
dart pub global activate flutter_distributor
用法
将 distribute_options.yaml
添加到你的项目根目录,你也可以查看这个完整示例 hello_world。
output: dist/
配置一个发布器
以 pgyer
为例,登录后,点击右侧的用户头像,从菜单中进入API 信息页面,复制 API Key
并将其添加到 env
节点。
env:
PGYER_API_KEY: 'your api key'
查看所有发布器文档以及如何配置它们。
配置发布项
下面的例子展示了如何添加一个包含打包 apk
、ipa
包并发布到 pgyer.com
的发布项,一个发布项可以包含多个作业。
build_args
是flutter build
命令所支持的参数,请根据你的项目进行修改。
releases:
- name: dev
jobs:
- name: release-dev-android
package:
platform: android
target: apk
build_args:
target: lib/main.dart
flavor: dev
target-platform: android-arm,android-arm64
# 当你不需要发布到分发平台,请删除 publish_to 字段
publish_to: pgyer
- name: release-dev-ios
package:
platform: ios
target: ipa
build_args:
target: lib/main.dart
flavor: dev
export-options-plist: ios/dev_ExportOptions.plist
publish_to: pgyer
完整的示例配置
env:
PGYER_API_KEY: 'your api key'
output: dist/
releases:
- name: dev
jobs:
- name: release-dev-android
package:
platform: android
target: apk
build_args:
target: lib/main.dart
flavor: dev
target-platform: android-arm,android-arm64
publish_to: pgyer
- name: release-dev-ios
package:
platform: ios
target: ipa
build_args:
target: lib/main.dart
flavor: dev
export-options-plist: ios/dev_ExportOptions.plist
publish_to: pgyer
发布你的应用
flutter_distributor release --name dev
相关链接
谢谢
🎉 🎉 🎉