Supported Frameworks

AppFlight CLI supports Flutter and React Native bare workflow.

AppFlight CLI works with both Flutter and React Native (bare workflow). The backend, storage, and tester distribution are framework-agnostic — the CLI adapts to your project structure based on projectType in appflight.json.

Flutter

Fully supported.

  • Version and build number read from pubspec.yaml
  • APK paths follow standard Flutter build output: build/app/outputs/flutter-apk/app-<flavor>-release.apk
  • Works with single-flavor, multi-flavor, or no-flavor setups
# Flavored Flutter app
appflight init --flavors stage:com.myapp.stage,prod:com.myapp
appflight upload --flavor stage

# No-flavor Flutter app
appflight init
appflight upload

React Native

Fully supported (bare workflow only — Expo is not supported).

  • Version read from android/app/build.gradle (versionName+versionCode)
  • APK paths follow standard Gradle output: android/app/build/outputs/apk/<flavor>/release/app-<flavor>-release.apk
  • Works with single-variant and multi-flavor setups
# Flavored React Native app
appflight init --flavors stage:com.myapp.stage,prod:com.myapp
appflight upload --flavor stage

# No-flavor React Native app
appflight init
appflight upload

During appflight init you'll be prompted to choose your framework, or skip the prompt with:

appflight init --project-type react-native

What the CLI reads from Gradle

The CLI parses android/app/build.gradle directly — no Gradle execution required.

FieldSource
VersionversionName + versionCode1.2.0+7
APK pathandroid/app/build/outputs/apk/…

Override the resolved version at upload time with --version or --build-number.

Kotlin

Coming soon.

Native Android (Kotlin) support is on the roadmap. If you're building without a cross-platform layer and want to use AppFlight, let us know — it helps us prioritise.