Skip to content

Phone app: the dev client on Play starts and loads from Metro (deploy#22) - #325

Merged
bubulux merged 3 commits into
mainfrom
fix/deploy-22-dev-launcher-manifest
Nov 12, 2026
Merged

bubulux merged 3 commits into
mainfrom
fix/deploy-22-dev-launcher-manifest

Conversation

@bubulux

@bubulux bubulux commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #324. OpenClapper Dev from Google Play crashed on start:

ActivityNotFoundException: Unable to find explicit activity class {org.openclapper.dev/expo.modules.devlauncher.launcher.DevLauncherActivity}

expo-dev-launcher's configureInRelease adds its debug Java code and resources to the release build, but not src/debug/AndroidManifest.xml (its build.gradle, SDK 57). withDevClientInRelease now declares the three activities (DevLauncherActivity, AuthActivity with the expo-dev-launcher scheme, DevLauncherErrorActivity), the ML Kit meta-data, CHANGE_WIFI_MULTICAST_STATE and the host.exp.exponent query in the app's manifest, for the development variant only. The known-issues entry is updated.

Checked:

  • make check is green.
  • APP_VARIANT=development expo prebuild: the generated manifest has all the entries, and gradle.properties has both switches.

Not checked yet: the phone. Next is a Play build from this branch (deploy's Development · Build phone app with ref).

🤖 Generated with Claude Code

bubulux and others added 3 commits November 12, 2026 16:32
…ies (deploy#22)

The release build with expo.devlauncher.configureInRelease takes expo-dev-launcher's debug code and
resources but not its debug manifest, so OpenClapper Dev from Google Play crashed on start
(ActivityNotFoundException: DevLauncherActivity). withDevClientInRelease now adds the launcher's three
activities, its meta-data, permission and query to the app's manifest.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
React Native's dev support follows ReactBuildConfig.DEBUG unless MainApplication passes useDevSupport,
so the release-built dev client got the ReleaseDevSupportManager and the launcher could not load a
bundle from Metro. withDevClientInRelease now passes useDevSupport = true and allows cleartext HTTP
(Metro on the LAN), as the debug build does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… JPromise error open (deploy#22)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bubulux

bubulux commented Nov 12, 2026

Copy link
Copy Markdown
Collaborator Author

Second commit: useDevSupport = true in MainApplication and cleartext HTTP. Without them the release build used ReleaseDevSupportManager and the launcher could not load from Metro.

Checked on the owner's phone with version code 3611038 from this branch (internal track): the launcher, the make mobile tunnel URL, LogBox, reload, sign-in and a capture work. One first-run JPromise was destroyed error after the camera permission dialog; it did not come back after a reload. It is in known-issues.

@bubulux bubulux changed the title Phone app: the dev client on Play declares the dev launcher's activities (deploy#22) Phone app: the dev client on Play starts and loads from Metro (deploy#22) Nov 12, 2026
@bubulux
bubulux merged commit f77e705 into main Nov 12, 2026
5 checks passed
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