flutter_distribute_manager 1.0.0 copy "flutter_distribute_manager: ^1.0.0" to clipboard
flutter_distribute_manager: ^1.0.0 copied to clipboard

A professional CLI that builds, packages and ships Flutter apps to QA — Android APK and iOS IPA — with Google Drive uploads via rclone and Diawi install links.

flutter_distribute_manager #

pub package license: MIT

Build, package and ship your Flutter app to QA in one command — Android APK and iOS IPA — with automatic Google Drive uploads (via rclone) and one-tap Diawi install links. No OAuth setup, no manual Xcode archiving, no copy-pasting files into shared folders.

$ flutter_distribute_manager
━━ flutter_distribute_manager ━━
  Project : my_app v1.4.2
? Which platform do you want to build?
  1) Android (APK)
  2) iOS (IPA)
  3) Android + iOS
...
✔ my_app_UAT_2026_06_19_0930_arm64-v8a.apk  (24 MB)
Share links:
  Drive · my_app_UAT_2026_06_19_0930_arm64-v8a.apk
  https://drive.google.com/…

Features #

  • 📦 Android & iOSflutter build apk --split-per-abi and flutter build ipa (with an optional export-options plist for your Team ID).
  • ☁️ Google Drive uploads via rclone — no OAuth app required.
  • 🗂 Tidy organisation — files land in Folder/App/Year/Month/ENV/App_ENV_YYYY_MM_DD_HHmm.ext, with case-insensitive folder matching so re-runs never create duplicates.
  • 🍏 Diawi install links for iOS QA — share a single URL.
  • 🌱 Environments — DEV / UAT / PROD tagging baked into file names and folders (also passed to the build as --dart-define=ENV=…).
  • 🔁 Resilient uploads — transfers retry with exponential backoff (--retry) and render a live [████░░░] 64% … ETA 6s progress bar.
  • 🔔 Team notifications — post a build summary to a Slack/Discord/generic webhook (--notify-url).
  • 🤖 CI/CD ready — every prompt has a flag; --yes runs fully non-interactive, --json emits a machine-readable result, and --dry-run previews the plan.
  • Per-step timing in a polished, box-drawn summary table.
  • 🩺 doctor (with a macOS Gatekeeper check) and a guided init so setup is a one-time affair.

Install #

dart pub global activate flutter_distribute_manager
flutter_distribute_manager --help

Make sure $HOME/.pub-cache/bin is on your PATH.

Quick start #

# 1. One-time machine setup (installs rclone, connects Drive, saves Diawi token)
flutter_distribute_manager init

# 2. Confirm everything is wired up
flutter_distribute_manager doctor

# 3. From your Flutter project, build & ship
cd path/to/your/app
flutter_distribute_manager

Commands #

Command What it does
flutter_distribute_manager Default build command (interactive).
flutter_distribute_manager init One-time setup: rclone, Google Drive auth, Diawi token.
flutter_distribute_manager doctor Health check: tools, config, Drive connectivity.
flutter_distribute_manager config View & edit saved configuration (or reset it).

Build flags #

Flag Alias Description
--platform -p android, ios or both.
--app-dir -d Flutter project path (default: current dir).
--app-name -n Label used in artifact file names.
--environment -e DEV, UAT or PROD.
--team-id -t Apple Developer Team ID (iOS).
--scheme Xcode scheme (default Runner).
--export-method development, release-testing, app-store.
--diawi-token Diawi API token (overrides saved).
--upload-drive Upload artifacts to Google Drive.
--upload-diawi Upload the iOS IPA to Diawi.
--notify-url Slack/Discord/generic webhook notified after a ship.
--retry Upload attempts before giving up (default 3).
--[no-]split-per-abi Split Android APKs per ABI (default on).
--skip-build / --upload-only Reuse the last build.
--dry-run Print the plan without building or uploading.
--json Emit a machine-readable JSON result on stdout.
--yes -y Assume defaults; never prompt (CI/CD).
--verbose -v Verbose logging.
--version Print version.

CI/CD example #

flutter_distribute_manager \
  --platform both \
  --environment UAT \
  --app-name MyApp \
  --upload-drive \
  --yes

How files are organised on Drive #

Flutter Builds/
└── MyApp/
    └── 2026/
        └── June/
            ├── DEV/
            ├── UAT/
            │   └── MyApp_UAT_2026_06_19_0930_arm64-v8a.apk
            └── PROD/

Configuration #

Scope Location Holds
Machine ~/.config/flutter_distribute_manager/config.json (%APPDATA%\flutter_distribute_manager\config.json on Windows) rclone remote, Drive folder, Diawi token.
Project .flutter_distribute_manager.json in the project root last platform, app name, Team ID, scheme, export method, environment.

Requirements #

  • Flutter & Dart SDKs.
  • rclone (installed for you by init) for Google Drive uploads.
  • macOS + Xcode for iOS builds.
  • A Diawi account & API token (optional, for iOS install links).

Programmatic use #

The building blocks are exported as a library too:

import 'package:flutter_distribute_manager/flutter_distribute_manager.dart';

final project = FlutterProject.detect(Directory.current.path);
final artifacts = await AndroidBuilder(const ProcessRunner(), Logger())
    .build(project!, environment: ReleaseEnvironment.uat);

See example/ for more.

License #

MIT © 2026 flutter_distribute_manager authors

3
likes
0
points
42
downloads

Publisher

unverified uploader

Weekly Downloads

A professional CLI that builds, packages and ships Flutter apps to QA — Android APK and iOS IPA — with Google Drive uploads via rclone and Diawi install links.

Repository (GitHub)
View/report issues

Topics

#cli #flutter #release #distribution #automation

License

unknown (license)

Dependencies

args, http, path

More

Packages that depend on flutter_distribute_manager