Core concepts
Distributing your APK
5 min read
Once a build succeeds, Lunadeck gives you three ways to get the APK onto a device. They differ in who can install it and how long the link lives — pick the one that matches who's on the other end. (Everything here is Android-only at launch; iOS distribution isn't part of v1.0.)
| You want to… | Use | Who can install | Auth required |
|---|---|---|---|
| Install on your own phone | Direct download | Just you | Yes (your account) |
| Send a build to a tester or client | Share link | Anyone with the link | No |
| Demo a live build on a real device fast | Magic preview | Anyone with the Magic app + QR | No |
For shipping to the public through the Google Play Store, see Publishing to the Play Store below — that's a different flow from the three above.
Direct download
The simplest path. On the project page, every succeeded build has a Download button that streams the signed APK straight to your machine. There are no view limits and no link to manage — it's authenticated against your account.
To install the downloaded file on an Android phone, copy it across and tap it. Android will ask you to allow "Install unknown apps" for whatever app is opening the file (your browser or file manager) the first time you sideload — this is expected for any APK that doesn't come from the Play Store.
A few things to know:
- The Download button only appears once the build's status is succeeded and the artifact exists. A failed or still-running build has nothing to download — see Troubleshooting if a build didn't finish.
- Build artifacts are kept according to your plan's artifact retention window — 7 days on Hobby, 30 days on Starter (full table in Account & Billing). After that the APK is purged and the download returns a "gone" error; just run the build again to get a fresh one.
- Want to confirm the file you downloaded is the one Lunadeck signed? See Certificate Vault → Verifying a downloaded APK.
Share links
When you need to hand a build to someone who doesn't have a Lunadeck account — a tester, a client, a teammate — create a share link. It's a public, no-login download URL that you can revoke at any time.
- Open the project's Publish tab and click Create build link for the build you want to share.
- Lunadeck generates a capability URL of the form
https://app.lunadeck.io/d/<token>. Copy it and send it however you like. - Anyone who opens the link sees the project name, version, and size, and can download the APK directly — no account needed.
You can revoke a link from the same Publish tab the moment you no longer want it live; the token stops working immediately.
Limits to be aware of:
- Share links are Android-only and only work for succeeded builds with an artifact still in retention.
- Anonymous downloads are rate-limited to 30 downloads per IP per hour to stop abuse.
- On Hobby, a link serves up to 100 views per month across all your links. Past that, the link returns a message asking the recipient to have the project owner upgrade. Starter lifts the cap — upgrade if you're sharing builds widely.
Magic preview (QR → device)
Magic is Lunadeck's companion Android app. It loads a finished build onto a real device over the air, so you can demo or test on hardware without installing a full APK. It's the fastest way to put a build in someone's hands when they're standing next to you.
Step 1 — install Magic. On the project page, tap Download Magic (it points at https://lunadeck.io/magic.apk) and sideload it onto the Android device, the same way you'd sideload any APK. You only do this once; the same Magic app works for every build and every project. You can install Magic before you even have a build to preview.
Step 2 — scan the Preview QR. Every succeeded Android build shows a Preview QR on the project page. Open Magic and scan it (or use Copy link / Open in Magic from the dashboard). Magic launches the build on the device.
Good to know:
- The preview link expires 24 hours after the build, so each QR is short-lived by design. Re-open the project for a fresh one.
- On Hobby, the in-app preview carries a Lunadeck watermark splash. It's removed on Starter.
- QR won't scan or the preview won't load? See Troubleshooting → Magic preview QR code won't scan.
Magic is for previewing on devices you control — it isn't a substitute for the Play Store or a share link when you want recipients to keep a standalone install.
Publishing to the Play Store
The three methods above are for direct distribution — your own device, a private link, or a live preview. When you're ready to ship to the public through Google Play, that's a separate, store-managed flow with its own signing and credential requirements. See Store Publishing for connecting your Google Play account and pushing releases, and note that Play Store uploads require your own signing key (Certificate Vault) rather than the shared managed debug keystore.