Distributing your app

Android: get your app on a phone

A plain-language guide to turning a MeDo mobile app into an Android app: build an APK to install directly, or an AAB for Google Play — with screenshots of each step.

Updated 2026-09-14

Android is the easy one. There is no approval and no developer account needed to put your app on a phone: MeDo builds an installer file, you copy it to the phone, done. Publishing on Google Play adds a one-time US$25 developer account and a store listing.

What you need

  • A Mobile app in MeDo. Packaging is available for projects created with the Mobile task type; they show an Export installation package button at the top of the editor.
  • 300 credits per Android packaging run. If the run fails or you cancel, the credits are refunded automatically.
  • For Google Play only: a Google account and a Play Console developer account (US$25, once).

APK or AAB?

MeDo can produce two kinds of file. Pick based on where the app is going:

FileWhat it isChoose it when
APKA ready-to-install app file. Copy it to any Android phone and tap it.You want to test on your phone, hand it to a few people directly, or upload to a store other than Google Play.
AABGoogle's upload format. It cannot be installed directly; Google Play turns it into the right APK for each phone.You are publishing on Google Play. New apps there must be uploaded as AAB.

Build the file in MeDo

  1. Open your Mobile project and click Export installation package at the top of the editor.
  2. Make sure the Android app tab is selected.
  3. Choose the file type in the dropdown — APK or AAB.

The Android format dropdown with APK (for testing and app store submission) and AAB (for publishing to Google Play)

  1. Click Packaging V… version (it shows your app's current version — for example "Packaging V2 version"). MeDo asks you to confirm the 300-credit charge.

Start packaging? This packaging will consume 300 credits; credits are refunded if it fails or is cancelled

  1. Click Confirm and wait a few minutes. You can close the dialog; finished builds appear in the list in the same dialog with a download button.

Install the APK on a phone

  1. Get the file onto the phone. Easiest ways: email it to yourself and open the attachment on the phone, or put it in Google Drive and download it there. A USB cable works too.
  2. Open the phone's Files (or Downloads) app and tap the APK.
  3. Android will say something like "For your security, your phone is not allowed to install unknown apps from this source." Tap Settings, switch on Allow from this source, and go back.
  4. Tap Install, then Open.

Google Play Protect may show a warning because the app is not from the Play Store. Tap Install anyway (sometimes hidden under More details). This only appears for apps installed outside the store.

The app now sits on the home screen like any other. To update it later, package again in MeDo and install the new APK over the old one.

Publish on Google Play

When you want the app in the store, build an AAB instead and follow Google Play Publishing, which goes through the Play Console step by step: creating the developer account, the store listing, the questions Google asks about privacy and content, and releasing to testers before the public.

Read alongside it:

If something goes wrong

What you seeWhat to do
The phone says "App not installed"Uninstall any older copy of the app first, then try again. Make sure the download finished — the file should be several megabytes.
Nothing happens when I tap the APKOpen it from the Files app rather than from inside the email or chat preview, and allow installs from that app (step 3 above).
Google Play refuses my uploadYou uploaded an APK. New Play apps must be an AAB — build again with AAB selected.
The app opens but shows a blank screenCheck the phone is online. If your app stores data, make sure its backend is running — see Backend settings & keep-alive.
Packaging failedYour 300 credits are refunded automatically. Try again; if it fails twice, ask in the MeDo Discord or email admin@medo.dev with the project URL.