Skip to content

Run your first build

A build compiles your configuration into a real Flutter app. This page takes you from pressing Build to opening the app on an Android phone. On Pro and Unlimited the same press also builds your iPhone app, when your app is set up for iOS — see Getting ready for iOS builds.

Check these, because each one is easier to fix now than after a fifteen-minute compile:

  • The preview shows your own content, not sample data.
  • Your app has a name and an icon, both under Settings → General.
  • Your navigation has at least one feature on it.

Press Build on the canvas. The app moves to pending, then to running.

Expect five to fifteen minutes. The job has a twenty-minute ceiling, and it does not retry — a half-finished Gradle workspace is not safe to resume, so a failed build is a failed build and you start another.

You do not have to wait on the page. The build continues if you close the tab.

Running a build and downloading the result

Expand a build row to see its log. It narrates each step: checking the Flutter version, creating the project, generating Dart source from your configuration, copying your icons, setting the Android application ID, fetching packages and compiling.

When a build fails, the log line before the failure is almost always the useful one. See When a build fails.

Two files, or three when iOS builds as well:

FileWhat it is for
.apkInstalling directly on a phone, for testing and for sharing with your team
.aabUploading to Google Play. Play accepts this format, not the APK
.ipaYour signed iPhone app. It goes to TestFlight on its own when you have added an App Store Connect key

Download any of them from the build row.

  1. Transfer the .apk to an Android phone — email, cloud drive or USB.
  2. Open it on the phone.
  3. Android will ask you to allow installs from that source. Allow it.
  4. Open the app.

Builds are metered per month across your whole account, not per app.

PlanBuilds per month
Free3
Pro30
Unlimited100, fair use

One press counts once, even when it produces an Android build and an iOS build. A press where everything failed does not count. The badge in the builder header shows what is left. Running out returns a clear message with the date the allowance resets, and a build pack adds more on any plan. See Build allowance.

There is no platform to choose. One Build press builds both, and the pair counts as one build.

On Free, iOS is not in the plan and nothing asks you about it. On Pro and Unlimited, iOS builds whenever your app meets every iOS requirement. When it does not, the Android half builds as normal and the iOS setup window opens at the first thing to fix.

Getting there takes an Apple Developer account, a certificate and a provisioning profile, which is an afternoon the first time. Getting ready for iOS builds walks through it, and How iOS builds work covers what happens afterwards.

SymptomCauseFix
The build sits at pending and never startsThe queue worker is not running on the Memberside sideGet in touch — this is not something you can fix
Build limit reachedYou have used this month’s allowanceWait for the reset date shown, or ask about a top-up
The build fails partwayUsually a bad icon file or an invalid settingWhen a build fails
The app installs but shows a white screenIt cannot reach your siteConfirm the site is public and serving over HTTPS

You have a working app. From here: