Store builds (APK & AAB)
Turn your project's mobile app into an installable Android APK or a Play Store bundle. Builds run on Expo's cloud, under your own Expo account, from the Mobile tab.
Before you build
Two things have to be true first:
- The mobile app is turned on for the project. See Add a mobile app.
- The web app is published. A store build runs outside your workspace, so it needs a real public address as its API base — your production URL. Without one the build is refused with Publish the web app first — the mobile build needs its live URL as the API base. See Publish & deploy.
Connect your Expo account
Builds run on your own Expo account, not ours. The Android signing key — your app's permanent release identity — is created inside whichever account runs the build. Keeping it in yours means you can ship Play Store updates without depending on us.
The panel walks you through four steps:
- Create a free Expo account.
- Open Access tokens in your Expo settings.
- Create a token. For a scoped one, add a robot user with the Developer role on the account and create its token; a personal access token also works.
- Paste the token below, then click Connect Expo.
Prefer the robot token. A personal access token can do anything you can do on Expo — it is stored encrypted and you can Disconnect at any time, but we cannot narrow what it reaches.
If a token reaches more than one Expo account you are asked which should own the builds, rather than having one picked for you. You can connect from the Mobile tab or from your Integrations page.
Set the package id
Package id is your app's permanent identity in the stores.
- Leave the field blank and the build uses an id generated from your project slug, in the form
dev.poleved.<name>. - To choose your own, type it: lowercase letters and digits in at least two dot-separated parts, like
com.acme.myapp. Hyphens break Android and underscores break Apple, so neither is accepted.
Once any build has finished, the package id is frozen and the field is disabled. Decide it before your first successful build.
Build an installable APK
- Open the Mobile tab.
- Set Platform to Android and Build type to Preview — installable APK.
- Click Build.
The row moves Queued → Sent to Expo → Building on Expo → Ready.
When it reads Ready, click Install for a QR code and scan it with your phone's camera to download the APK. Android will ask you to allow installs from that source. If an older copy of the app is already installed, uninstall it first — Android refuses an install signed with a different key.
Build for the Play Store
Choose Production — store bundle. Android produces an AAB, which cannot be installed by scanning; the row says Upload this bundle to Play Console. Download it and upload it there yourself. We do not submit to any store on your behalf.
Watching a build
- Build log opens the build's page on Expo. You need to be signed in to Expo to read it.
- Cancel stops a build that has not finished yet.
- A failed row shows its error code inline.
Most of the wall time is Expo's queue, which is other Expo customers' traffic rather than work on your project. It can be a few minutes; it can be more than an hour. We stop tracking a build after two hours — the build itself keeps running on Expo, and the Build log link still reaches it.
iOS
Your mobile app already runs on iPhones through Expo Go — see Preview on your phone. iOS store builds are not available yet, and the option reads iOS (not available yet) until they are.
Limits & notes
- Builds do not spend credits. The brake is a cap of 5 builds per project per rolling 24 hours, and only builds that actually reached Expo count against it, so a submit that failed early does not use one up.
- One build at a time per platform.
- Builds run on the project owner's Expo account, including builds a collaborator starts.
- We keep our own copy of a finished artifact so the install link stays usable for 30 days after the build, then the copy and its row are removed. Expo's own artifact link expires after 14 days, and artifacts above 300 MB are not copied — those fall back to Expo's expiring link.
- Deleting a project removes its build artifacts too.
- Rebuilding under a different Expo account creates a new signing key, so an app installed from an earlier build has to be uninstalled before the new one will install.
If the project already has a finished production build, moving it to another Expo account means the published app can no longer be updated in place — users would have to install it fresh. The panel warns you before the build, and clicking Build confirms it.
- Limits may change during alpha.