Skip to content

docs: clarify the Android Hermes vendoring steps - #411

Merged
kraenhansen merged 1 commit into
nextfrom
claude/android-docs-hermes-vendoring
Aug 12, 2026
Merged

docs: clarify the Android Hermes vendoring steps#411
kraenhansen merged 1 commit into
nextfrom
claude/android-docs-hermes-vendoring

Conversation

@kraenhansen

Copy link
Copy Markdown
Collaborator

docs/ANDROID.md listed the two Android requirements — building React Native
from source, and pointing that build at the vendored Hermes — as one run-on
section, without saying why either is needed or what happens when the
environment variable isn't set.

  • Split them into separate sections, and say up front that this is the manual
    equivalent of what the podspec does during pod install on Apple platforms.
  • Note that apps based on react-native-test-app don't hand-edit
    settings.gradle: it applies the same dependency substitutions when
    react.buildFromSource=true is set, which is how apps/test-app in this
    repository builds.
  • Spell out that REACT_NATIVE_OVERRIDE_HERMES_DIR is read from the
    environment — ReactAndroid/hermes-engine/build.gradle.kts uses
    System.getenv, and Gradle cannot set a variable for its own build — so it
    has to be exported for every shell that invokes Gradle, or for the
    environment Android Studio is launched from. Without it React Native builds
    its own Hermes and the app fails to link hermes_napi_create_env.

Also drops the last two "patched Hermes" references from the host README, left
over from before #372 adopted Hermes' first-party Node-API.

No behavior changes, so no changeset.


Generated by Claude Code

The Android setup has two separate requirements — building React Native from
source and pointing it at the vendored Hermes — and the doc ran them together
without saying why either is needed.

- Split them into their own sections and say up front that this is the manual
  equivalent of what `pod install` does on Apple platforms.
- Note that apps based on react-native-test-app get the dependency
  substitutions from `react.buildFromSource=true` instead of editing
  settings.gradle themselves, as apps/test-app does.
- Spell out that REACT_NATIVE_OVERRIDE_HERMES_DIR is read from the environment
  (Gradle cannot set it for its own build), so it has to be exported for every
  shell — or for the environment Android Studio is launched from — and what
  goes wrong without it.

Also drop the last two references to a "patched" Hermes from the host README,
left over from before we adopted Hermes' first-party Node-API.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HX4imsygeawVtsmoP1sj3F
@kraenhansen
kraenhansen merged commit 167dd9d into next Aug 12, 2026
16 checks passed
@kraenhansen
kraenhansen deleted the claude/android-docs-hermes-vendoring branch August 12, 2026 13:30
kraenhansen added a commit that referenced this pull request Aug 13, 2026
The Android setup has two separate requirements — building React Native from
source and pointing it at the vendored Hermes — and the doc ran them together
without saying why either is needed.

- Split them into their own sections and say up front that this is the manual
  equivalent of what `pod install` does on Apple platforms.
- Note that apps based on react-native-test-app get the dependency
  substitutions from `react.buildFromSource=true` instead of editing
  settings.gradle themselves, as apps/test-app does.
- Spell out that REACT_NATIVE_OVERRIDE_HERMES_DIR is read from the environment
  (Gradle cannot set it for its own build), so it has to be exported for every
  shell — or for the environment Android Studio is launched from — and what
  goes wrong without it.

Also drop the last two references to a "patched" Hermes from the host README,
left over from before we adopted Hermes' first-party Node-API.


Claude-Session: https://claude.ai/code/session_01HX4imsygeawVtsmoP1sj3F

Co-authored-by: Claude <noreply@anthropic.com>
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