Build and share an Android app
Turn your app into a file people can install, share it with a link or QR code, and set up the signing key that makes updates possible.
An Android build is a real installable app. No store, no review, no waiting. Send someone a link and they have your app.
Set your signing key first
Do this before the first build you give to anyone. It takes a minute and it is painful to fix afterwards.
Android identifies an app by the key it was signed with. If build 2 is signed with a
different key than build 1, phones refuse to install it over the top, with
INSTALL_FAILED_UPDATE_INCOMPATIBLE. The only fix is uninstalling first, which loses the
person's local data.
Without a key of your own, each build gets a throwaway one, which is fine for a one-off demo and wrong for anything you will update.
Upload a release keystore once from the project's App tab, in the store setup section. Every build afterwards is signed with it and updates install cleanly.
Keep your keystore
Your keystore is the identity of your app on Android. Lose it and you cannot ship an update to anyone who has the app installed, and you cannot update a Play Store listing either. Keep your own copy somewhere safe.
Build it
Open the project's App tab and press Build Android in the release section.
It takes roughly twelve minutes and runs in the cloud, so you can close the page. Progress and build activity show on the release.
Share it
When the build finishes you get:
- A download for the APK file
- An install page with a QR code you can send to anyone
The install page is public: anyone with the link can install the app. Treat the link accordingly.
Installing it
Android asks for permission before installing an app that did not come from the Play Store. The person tapping the link will see a prompt about installing from their browser and needs to allow it once.
That prompt is normal and it is worth telling testers about it in advance, otherwise it reads as a warning that something is wrong.
Updating an installed app
Depends on what changed:
| Change | How it reaches people |
|---|---|
| Screens, logic, copy, styling | Next time they open the app, no reinstall |
| A new device capability, a platform upgrade, a permission change | A new build they have to install |
Details in Shipping updates.
When a build fails
Open the release and read the build activity. It shows what stopped the build and whether it can be retried; use Retry when it is offered.
The most common causes are a change that needs a capability the app does not declare, and a build that ran out of time. Both are visible in the activity rather than being reported as a generic failure.
APK or AAB
The build produces an APK, which is what you want for direct installs and testing.
The Play Store wants an AAB instead. See Google Play.
Limits worth knowing
- The install page has no access control. Anyone with the link can install
- There is no automatic update for directly installed apps beyond the interface-level updates above. A new build is a new install
- Build usage counts against your plan