Guides

Install an APK on a remote Android device

Upload an APK or AAB to a remote Android device, launch it, and share the installed build without a local SDK or USB connection.

"Install on a remote device" usually means one of three things: put the build on a cloud device for manual testing, hand it to a test runner in CI, or let someone else open it. SpawnDroid covers all three from one uploaded artifact.

1. Upload from the console

Open Artifacts → Upload APK or AAB, choose a universal .apk or an .aab, and wait for the manifest to be parsed. The upload only stores the build; no device is consumed until you start a session.

2. Upload from a pipeline

A Bearer-authenticated upload is the CI path:

curl -sS -X POST https://app.spawndroid.io/api/apps \
  -H "Authorization: Bearer $SPAWNDROID_API_KEY" \
  -F file=@app-release.apk

The response contains the artifact slug. Pass that slug as artifactId when starting a runner. Uploading from CI does not auto-launch a device, so a pipeline can publish many builds without holding runners open.

3. Start the device and install

From the artifact page, select Start session, choose a profile such as android-14-phone, and launch. The device host:

  1. pulls the build from object storage,
  2. converts an AAB to a universal APK when needed,
  3. installs it on the session's isolated device,
  4. launches the app and streams the screen.

Install and boot failures are reported with a registry code. They are free: device-minutes start when the device is ready.

4. Share the installed build

Create a share link from the artifact header. The recipient presses Launch on the share page; SpawnDroid installs the same build on a device for that link. No account, invite or seat is needed. Links expire automatically and can be revoked. See Share a build.

Limits to know

  • One APK or AAB per upload. Split APKs (.apks, .xapk) are not supported.
  • 512 MB maximum upload.
  • Hobby builds expire 7 days after upload, including the newest one. Paid plans keep the newest release.
  • A session is isolated and destroyed at teardown. App data does not carry to the next session.

Run it on SpawnDroid

Hobby includes one runner and 200 device-minutes a month, no card. Start free or read the API reference for the upload endpoints.

Was this page helpful?

On this page