Skip to content

[build-tools] Add Android web previews - #4270

Draft
szdziedzic wants to merge 1 commit into
expo:mainfrom
szdziedzic:szdziedzic-codex/android-web-preview
Draft

[build-tools] Add Android web previews#4270
szdziedzic wants to merge 1 commit into
expo:mainfrom
szdziedzic:szdziedzic-codex/android-web-preview

Conversation

@szdziedzic

Copy link
Copy Markdown
Contributor

Summary

Adds Android web previews to the existing EAS remote-session flow by selecting the preview server from the worker runtime platform.

  • keep @expo/serve-sim for Darwin/iOS
  • launch @expo/serve-emu@latest with WebRTC H.264 for Linux/Android
  • share Cloudflare TURN retrieval, readiness polling, ngrok tunneling, and cleanup
  • configure Android previews for 1280px, 3 Mbps, 30 fps, and one-second keyframes
  • pass Appium's exact emulator serial to serve-emu
  • report webPreviewUrl for Agent Device, Argent, and Appium sessions on both platforms
  • make the EAS CLI preview label platform-neutral

Depends on expo/serve-emu#8 and expo/serve-emu#9. The scoped npm package must be bootstrapped before this integration is deployed.

No WWW or GraphQL schema change is needed: all three remote-config variants already store and render webPreviewUrl.

Verification

  • 48 focused build-tools tests
  • 3 focused eas-cli tests
  • build-tools and eas-cli typechecks
  • type-aware oxlint with zero warnings
  • targeted oxfmt check
  • exact serve-emu invocation validated against a headless Android AVD

@szdziedzic
szdziedzic force-pushed the szdziedzic-codex/android-web-preview branch from 42db56d to 4073fd8 Compare August 24, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant