Android capture
PreviewBuild and upload a standalone Android Storybook APK.
Requirements#
- An on-device Storybook with capture mode enabled.
- A release-style APK containing the JavaScript bundle and the
x86_64ABI. - 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:
cd android
./gradlew assembleRelease -PreactNativeArchitectures=x86_64This 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:
node framecheck-native.mjs upload \
--platform android \
--app android/app/build/outputs/apk/release/app-release.apk \
--app-id com.example.storybookUse 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.
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.