Flutter Distributor 一个完整的工具,用于打包和发布您的 Flutter 应用

2021-12-26 21:13:03 +08:00
 lijy91

介绍

Flutter Distributor 是一个完整的工具,用于打包和发布您的 Flutter 应用。只需通过一些简单的配置便可以让你的项目可以快速的打包保存到指定目录及发布到指定的分发平台。

开发这个工具的起因是由于我的个人作品比译发布后,需要将它打包为 Linux ,macOS 和 Windows 的平台特定的包格式并发布到 GitHub Releases ,起初写了打包脚本,但后面需要支持的格式越来越多,每次版本发布都需要花费大量的时间。因此从最初的脚本开始慢慢演变为 Flutter Distributor ,从第一行代码到现在已经过去了近两个半月,今天终于可以拿出来介绍给大家,希望这个工具可以帮助到大家。

特性

已支持的包格式

以上 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'

查看所有发布器文档以及如何配置它们。

配置发布项

下面的例子展示了如何添加一个包含打包 apkipa 包并发布到 pgyer.com 的发布项,一个发布项可以包含多个作业。

build_argsflutter 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

相关链接

谢谢

🎉 🎉 🎉

1717 次点击
所在节点    Flutter
1 条回复
shanghai1998
2021-12-26 21:44:45 +08:00
cool 好东西,flutter 打包桌面端大小如何?
可否在 git 中把 hello world 所有的打包文件也放上去,方便体验效果

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/824545

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX