web app → native Android app

Web app in.
Android app out.

Deploid is a CLI for turning an existing web app into an Android app without requiring you to become an Android developer first. It handles Capacitor, Gradle, assets, devices, signing, releases, and the Android toolchain around them.

✓ CLI-first✓ Java 17+✓ no mandatory ANDROID_HOME✓ advanced overrides when needed
my-web-app · zsh
deploid init
✔ detected Vite
✔ wrote deploid.config.ts
✔ installed Capacitor dependencies

deploid run
✔ resolved Java 21 · Android SDK · project Gradle
✔ built app-debug.apk
✔ selected Pixel 8
✔ installed & launched

deploid ship --patch --from-git
version → release build → changelog → publish
## THE ACTUAL PRODUCT

Small happy path. Deep controls underneath.

The beginner workflow should be boring in the best possible way. Lower-level commands still exist for automation, CI and unusual Android setups, but they do not have to dominate first contact.

01
deploid init

Detect the project, create Deploid config and install the Android packaging dependencies.

02
deploid run

Package, build a debug APK, select a device, install it and launch it.

03
deploid build

Build Android artifacts without deploying. Signed AAB when release signing is configured.

04
deploid ship

Run the explicit release workflow when the app is actually ready to leave your machine.

## WHAT IT HANDLES

The Android parts you did not come here to learn.

Packaging

Runs your web build, maintains the Capacitor project and syncs the current output before Android builds.

Toolchain resolution

Finds Java, the Android SDK, ADB, sdkmanager and the project Gradle wrapper from sensible sources.

Device workflow

One device is selected automatically. Multiple devices require an explicit choice instead of receiving surprise installs.

Release plumbing

Signing setup, versions, changelogs, CI scaffolding and configured publishing stay available when you need them.

## TOOLCHAIN

Resolve it. Explain it. Do not rearrange the computer.

Deploid's Android resolver prefers explicit intent and project-local truth over demanding that every machine be hand-prepared exactly the same way.

What Deploid resolves

  • Java 17+ supported, Java 21 preferred for controlled CI
  • Android SDK from overrides, environment, local.properties, Android Studio and known locations
  • ADB and sdkmanager from the resolved SDK
  • Gradle from the project's own wrapper, never a random global install

Override one invocation

Advanced users and agents can bypass discovery without mutating global shell configuration.

$ deploid run \ --java-home /opt/jdk-21 \ --android-sdk ~/Android/Sdk
## WHEN IT BREAKS

Doctor is the environment/state brain.

Instead of making you decode the first Gradle stack trace the universe happens to provide, Deploid inspects project and Android readiness before the expensive part starts.

deploid doctor
PASS Project setup
PASS Android build
WARN Release readiness
PASS Device deploy

Java: 21 from Android Studio
SDK: ~/Android/Sdk from local.properties
Gradle: project wrapper 8.10.2

Safe remediation

deploid doctor --fix can apply project-local fixes where Deploid owns the state. It does not silently accept Android SDK licenses, rewrite your shell profile, or globally swap Java versions. When user consent or system-level work is required, it explains the manual step.

## ADVANCED, NOT ABSENT

The simple interface is not a toy interface.

Lower-level commands remain available for people and automation that need them. They are just no longer pretending every user wants to orchestrate each internal stage by hand.

deploid packageRun web build and Android/Capacitor packaging explicitly.
deploid deployInstall an existing debug APK; can deliberately target multiple devices.
deploid devices / logsInspect devices and Android logs through the resolved ADB binary.
deploid release initPrepare signing and release configuration.
deploid ci init githubGenerate release-oriented GitHub Actions scaffolding.
programmatic API / daemonDrive Deploid from agents, integrations and other tooling.
## SUPPORTED PATH

Android via Capacitor.

Vite, Next.js static export and Create React App are detected automatically. Static projects can be selected explicitly. Older Tauri/TWA packaging references are not current supported product paths.

Install Deploid. Run your app.

Node 18+ · Java 17+ · Android SDK · one npm package