Skip to content

Expo Support for New Architecture (Android)#43

Merged
kmsbernard merged 3 commits intoCodePushNext:masterfrom
benbitrise:bb/android_new_architecture
Apr 9, 2026
Merged

Expo Support for New Architecture (Android)#43
kmsbernard merged 3 commits intoCodePushNext:masterfrom
benbitrise:bb/android_new_architecture

Conversation

@benbitrise
Copy link
Copy Markdown

The Expo plugin previously relied upon isHermesEnabled as its anchor point for injecting CodePush.getJSBundleFile(). isHermesEnabled was removed in 0.82.0, so a new anchor point must be used for forward compatibility.

Reference: https://react-native-community.github.io/upgrade-helper/?from=0.81.6&to=0.82.0

@benbitrise
Copy link
Copy Markdown
Author

@CHOIMINSEOK - what can I do move this forward?

Copy link
Copy Markdown

kmsbernard commented Apr 8, 2026

I validated this against a generated Expo Android app before merging and found a gap in the new-architecture wiring.

The current patch only handles the getDefaultReactHost(...) shape, but the actual Expo-generated MainApplication.kt I got from create-expo-app uses ReactNativeHostWrapper(...) plus ReactNativeHostWrapper.createReactHost(...). In that shape, CodePush.getJSBundleFile() is never injected, so the PR still misses the bundle-file wiring.

I pushed a follow-up branch with a fix and regression coverage here: #45

What the follow-up adds:

  • wrapper-based Expo host handling by inserting getJSBundleFile() on the wrapped host
  • retained jsBundleFilePath handling for templates that use getDefaultReactHost(...)
  • Expo Android regression checks in test/test.ts

I also verified the generated Android MainApplication.kt after expo prebuild --clean contains the expected CodePush wiring with that follow-up applied.

@kmsbernard
Copy link
Copy Markdown

kmsbernard commented Apr 8, 2026

@benbitrise Sorry for the long delay on this! I'll update the e2e test scripts, run them, and if there are no regressions I'll merge this and cut a release.

(Also, please ignore the previous review comments from Codex. I ran it for my own reference and it ended up posting them on its own 😅)

@kmsbernard
Copy link
Copy Markdown

I ran the regression tests and found no issues. I also noticed there's another compatibility issue with Expo SDK 55 and RN 0.83+. I'll address it in a separate PR.

@kmsbernard kmsbernard merged commit 9182032 into CodePushNext:master Apr 9, 2026
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.

2 participants