# Android capture

Preview: not generally available yet.

Build and upload a standalone Android Storybook APK.

## Requirements
- An on-device Storybook with [capture mode](/native-capture-mode/) enabled.
- A release-style APK containing the JavaScript bundle and the `x86_64` ABI.
- The correct Android application ID.
- Android enabled for the project and access to the native preview.

Your CI builds the APK; it does not need to run an emulator for the hosted capture. The current documented capture target is Pixel 7 / Android 15. Confirm the offered device in your project's settings before relying on its dimensions.

## Build the capture app
For a Gradle project whose release configuration already selects capture mode:

```sh
cd android
./gradlew assembleRelease -PreactNativeArchitectures=x86_64
```

This command alone does not add capture mode. If your project uses a dedicated `framecheck` build type, run its generated `assembleFramecheck` command instead. Expo projects should follow their generated prebuild/build instructions. Keep the capture flag and localhost networking configuration in that build.

## Upload
Download and verify the native uploader from the Setup page, then run with the project token in the environment:

```sh
node framecheck-native.mjs upload \
  --platform android \
  --app android/app/build/outputs/apk/release/app-release.apk \
  --app-id com.example.storybook
```

Use your actual output path and application ID. Pass explicit repository, commit, branch, and pull-request metadata when your CI does not provide supported automatic metadata. See [native CI](/native-ci/).

## Review the result
Open the run link and inspect the Android stories. Check status bar, safe areas, fonts, and device appearance as well as component content. The same accept/reject and baseline rules apply as for web screenshots.

## Common failures
| Symptom | Check |
| --- | --- |
| App never connects | Capture entry selected, localhost cleartext allowed, WebSocket enabled on port 7007. |
| App asks for Metro | Build a bundled release-style app, not a development-only build. |
| Cannot install | Correct APK, application ID, and x86_64 architecture. |
| No stories | Story generation and Storybook environment flags ran before bundling. |
| Normal app appears | Entry registration and capture build flag. |

Capture throughput improvements do not require changes to your application. Keep using the uploader version and build instructions shown in Setup.
