Skip to content

Use legacy JNI packaging for ARM64 Android E2E APKs - #58103

Closed
cortinico wants to merge 1 commit into
mainfrom
nc/soloader-arm64-translation
Closed

Use legacy JNI packaging for ARM64 Android E2E APKs#58103
cortinico wants to merge 1 commit into
mainfrom
nc/soloader-arm64-translation

Conversation

@cortinico

@cortinico cortinico commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Summary:

Follow-up to #58092.

Android API 35 x86_64 emulator images expose both x86_64 and arm64-v8a through libndk_translation.so. SoLoader 0.12.1 only searches the first ABI when loading uncompressed native libraries directly from the APK, causing ARM64-only RNTester and template apps to crash while loading libreactnative.so.

Enable legacy JNI packaging through a CI-only Gradle init script so Android extracts the ARM64 libraries and the existing SoLoader ApplicationSoSource can load them. This applies only to dry-run RNTester builds and Android template E2E builds. Nightly and release packaging is unchanged.

Failure evidence: https://github.com/react/react-native/actions/runs/32741094253

Changelog:

[INTERNAL] [FIXED] - Extract native libraries for ARM64 Android E2E APKs running through NDK translation.

Test Plan:

  • ./node_modules/.bin/prettier --check .github/actions/build-android/action.yml .github/workflows/e2e-android-templateapp.yml — passed.
  • Parsed both modified YAML files with the yaml Node package — passed.
  • Parsed the embedded workflow shell scripts with bash -n — passed.
  • Compiled .github/workflow-scripts/legacy-jni-packaging.gradle with the Groovy compiler bundled with Gradle 9.4.1 — passed.
  • Full Android E2E validation is delegated to this draft PR because the local Gradle daemon could not establish its localhost connection.

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Aug 24, 2026
@cortinico
cortinico marked this pull request as ready for review August 24, 2026 17:39
@meta-codesync

meta-codesync Bot commented Aug 24, 2026

Copy link
Copy Markdown

@cortinico has imported this pull request. If you are a Meta employee, you can view this in D117222109.

@meta-codesync meta-codesync Bot closed this in 4f9f24e Aug 24, 2026
@meta-codesync meta-codesync Bot added the Merged This PR has been merged. label Aug 24, 2026
@meta-codesync

meta-codesync Bot commented Aug 24, 2026

Copy link
Copy Markdown

@cortinico merged this pull request in 4f9f24e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged This PR has been merged. p: Facebook Partner: Facebook Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant