Beyond the browser: shipping an Android app
One app, one repository — and it can ship an installable Android package alongside the website. This page covers how to start one, what preview and publish each produce, where the signing key comes from, and how your users end up with the APK on their phone.
Worth reading first:
02-apps.md(how apps are created and configured) and04-publish.md(how preview, merge and publish differ).
What one app can ship
| Target | How you start it | Where users get it |
|---|---|---|
| Web app, admin console or API | The default; you get it when you create the app | Your production domain |
| Android app | Say so in a chat and the agent adds an Android project | A download link on your own site |
Both live in the same repository. You do not create a second app for the Android target, and preview and publish handle them together.
iOS is not supported. HarmonyOS 4 and earlier can install the Android package; HarmonyOS NEXT cannot.
Adding the Android target
Say "add an Android app to this" in a chat. The agent creates the Android project in the repository and registers it — there is nothing for you to fill in. The Android app step of the setup wizard is read-only: it is hidden entirely while you are creating a new app and appears once there is a build to look at.
The package name is generated by Quodara and frozen the first time a package is built. It cannot be changed afterwards — changing it would strand every copy already installed on a phone, with no upgrade path. The minimum supported version is Android 7.0.
When packages get built
Builds hang off the same two buttons as the web deployment:
| You clicked | What comes out |
|---|---|
| Preview | A debug package you can install by scanning a QR code |
| Publish | A signed release package |
A build usually takes three to eight minutes, and only one build runs at a time — if one is already going, the next waits for it.
The signing key
The first time an Android package is built, Quodara generates a signing key and holds it for you. You do not need to prepare anything.
The Android step has an Export backup button. It is greyed out until you have built at least one package, and asks for confirmation before it runs. Exporting downloads a .jks file and shows the key alias and two passwords on the page — the passwords are shown once and cleared as soon as you leave the step, so save them there and then.
The file without the passwords cannot sign anything; you need both. There is no way to recover a lost key, and without it the packages already in users' hands can never be updated. Quodara keeps a copy, but keep your own too.
Build history and downloads
The same page lists your builds: environment, type (debug or release), status, version, size and time, plus a short error summary on the ones that failed. You can filter by environment, and the list does not refresh itself — click Refresh to see a status change. Successful builds can be downloaded straight from the row, which is the quickest way to test a package yourself.
Users download the package from your own site. Quodara does not host a download page. Once a build succeeds and the app is deployed again, the download address is injected into your deployment config and the entry point on your page starts working. Ask the agent for both a download button and a QR code — scanning is by far the easiest route on a phone.
Debug and release packages are signed with the same key and share one version sequence, so a phone that installed the test build can install the release straight over it — no need to uninstall first.
Common questions
Q: Do I need a separate app for the Android target? A: No. Same app, same repository. The agent keeps the web code and the Android project side by side.
Q: Can I put the package on the Play Store? A: Yes. Quodara produces the signed release package and can export the signing key to you; submitting it to any store is something you do yourself.
Q: Why is the download link missing from my site? A: The address only appears after a successful build and a subsequent deployment. If you built and never deployed again, deploy once more.
Q: Is there an iOS build? A: No.
Q: I don't want a mobile app — does this add anything to my project? A: No. The Android target only exists if you ask for it. By default an app is web only.
Read next: 10-media.md
