Beta distribution, simplified

Ship APKs to your
testers instantly

Upload APKs, invite testers, and distribute builds to your team instantly — no Play Store review, no waiting.

Got an invite? Install AppFlight and sign in with the invited email.

$ dart pub global activate appflight_cli
first run
$ dart pub global activate appflight_cli
› Activated appflight_cli 0.6.0.
$ appflight signup
› Email: you@studio.dev
✓ Account created for you@studio.dev.
› Check your inbox to verify your email, then run appflight login.
$ appflight login
› Email: you@studio.dev
✓ Logged in as you@studio.dev (cli:macbook)
$ appflight init
› com.studio.app is not yet registered on AppFlight. Create it now? [y/N] y
✓ Created app: com.studio.app
$ appflight upload --flavor stage
› Uploading APK…
✓ v1.4.2 of com.studio.app uploaded successfully.
# testers get a push on their phone

Everything you need to ship faster

Built for Android developers who don't want to deal with Play Store review cycles during development.

CLI First

Sign up, log in, register your app and upload — one tool, no phone required to publish. Drops into GitHub Actions, Codemagic or Bitrise.

APK Distribution

Upload APKs directly and share them with your testers instantly. No Play Store, no waiting, no rejections.

Push Notifications

Testers get notified automatically the moment a new build is uploaded. No manual sharing or links needed.

Tester Management

Invite testers by email — as a solo developer or an organization. No AppFlight account yet? The invite waits and attaches the moment they sign up.

Organizations

Group apps and testers under an organization. Perfect for agencies and studios managing multiple products.

API Keys

Create CI keys from the terminal with appflight keys create. Named, revocable, listed with last-used — no Firebase service accounts.

The app, in your hands

Where testers install your builds — and where you invite them, manage roles and get a push on every upload.

AppFlight Android app — APK version history for a beta build AppFlight Android app — APK version history for a beta build

App Details

AppFlight home screen — list of Android beta apps AppFlight home screen — list of Android beta apps

Home

AppFlight API keys screen for CI/CD integration AppFlight API keys screen for CI/CD integration

API Keys

Available on Android
GET IT ON Google Play

Up and running in minutes

Four commands from zero to testers getting the build — no phone needed to publish.

01

Install and sign up

dart pub global activate appflight_cli, then appflight signup. Verify the email we send you.

02

Log in

appflight login with your email and password. This machine gets its own key — nothing to paste.

03

Init your project

appflight init in your project root. New package? It offers to register the app for you.

04

Upload and notify

Build your APK and run appflight upload --flavor stage. Testers get a push instantly.

Testers use the AppFlight app. Invite them from the app on your phone — they install it once and get a push on every build. Get the app

Developer tooling

Built for the
terminal

The AppFlight CLI is a Dart console app that fits into any Flutter, React Native, or native Android (Kotlin) workflow. Upload APKs, manage environments, and automate distribution from one command.

  • Sign up, log in and register apps without leaving the terminal
  • Single command upload — flavored or unflavored apps
  • CI mode for GitHub Actions, Codemagic, and Bitrise
  • Dry-run mode — verify before uploading
  • Typed exit codes for scripting
ci
# Create a key for your pipeline
$ appflight keys create --name github-actions
✓ Created key "github-actions".
⚠ This is the only time the raw key is shown — copy it now:
› appflight_••••••••••••
# In CI — store it as a secret
$ APPFLIGHT_API_KEY=$SECRET appflight upload --flavor stage --ci
[appflight] ✓ v1.4.2 of com.studio.app uploaded successfully.

Built for your stack

AppFlight works with the frameworks your team already uses.

Flutter

Full support — init, login, upload, and CI/CD guides are Flutter-first.

Supported

React Native

Full support — init, upload, and CI/CD guides for React Native bare workflow.

Supported

Kotlin

Full support — native Android, direct Gradle integration, no cross-platform layer required.

Supported

How AppFlight compares

The short answer to "what's the TestFlight for Android?" — and how we stack up against the alternatives.

Feature AppFlight TestFlight Firebase App Distribution Diawi
Android support Full iOS only
Single-command CLI upload Needs Xcode + altool Service-account setup Manual
Automatic push notifications Email only Link only
Review cycle None 24–48 h None None
Tester & role management Testers + roles Basic
Flutter-first tooling
Free tier 3 apps, 5 APKs / app 100 testers Unlimited testers 30-day links

TestFlight is Apple's iOS-only beta service — this comparison assumes you're shipping an Android app and looking for its equivalent.

Simple, transparent pricing

Start free. Upgrade when your team needs more runway.

Monthly Annual Save 20%
Economy
Free

For solo devs getting started with beta distribution.

For organizations shipping their first builds.

Get Started
  • Up to 3 apps
  • 5 APKs per app
  • 10 APKs per app
  • 7-day APK storage
  • Invite testers by email
  • Push notifications
  • Team management
  • API keys & CLI
  • Organization management
For testers · optional for developers

Get the AppFlight app

Testers install every build here and get a push the moment it lands. Developers use it to invite testers and keep an eye on builds — you don't need it to publish.

GET IT ON Google Play

Frequently asked questions

Short answers to what people ask most often.

How do I distribute an Android APK to beta testers?

Install the CLI with dart pub global activate appflight_cli, then run appflight signup, appflight login, appflight init and appflight upload. Invite testers by email from the AppFlight app; they get a push notification the moment each build lands. No Play Store review, no waiting.

Do I need the AppFlight app?

To publish, no — sign up, log in, register apps and upload all work from the CLI. Testers do: they install the AppFlight app to receive builds. You'll also use the app to invite testers, manage organization roles and get a push on every upload.

Is there a TestFlight for Android?

Apple's TestFlight is iOS-only. AppFlight is the Android equivalent — upload an APK, invite testers by email, and they get a push notification the moment a new build is available. No Play Store review cycle and no 14-day waiting.

I was invited to test an app. What do I do?

Install AppFlight from the Play Store and sign up with the exact email the developer invited. The app is on your home screen straight away, and you get a push notification every time that developer uploads a new build. If you sign up before the invite is sent, it attaches automatically the moment it lands.

Is AppFlight a replacement for Firebase App Distribution?

No — AppFlight isn't trying to replace Firebase App Distribution. The goal is to bring a TestFlight-style tester experience to cross-platform mobile teams, so Flutter and React Native developers get the same smooth beta flow that iOS teams take for granted. Android-only teams are welcome to use AppFlight too, but cross-platform is our primary focus.

Can I upload APKs from GitHub Actions, Codemagic, or Bitrise?

Yes. Run appflight keys create --name github-actions, store the key as a secret, and set APPFLIGHT_API_KEY in your pipeline — appflight upload --ci does the rest, with typed exit codes for scripting. Step-by-step guides for GitHub Actions and Codemagic are in the docs.

Do testers need a Google account?

Testers install the AppFlight mobile app from the Play Store (free) and sign in with email. No Google service account, Play Console access, or technical setup is required on the tester's side.

Does AppFlight work with React Native or native Android (Kotlin)?

Yes — Flutter, React Native bare workflow, and native Android (Kotlin) are all fully supported. Run appflight init and select your framework when prompted, or pass --project-type react-native / --project-type kotlin to skip the prompt. The CLI reads version and APK paths from your Gradle build files automatically.