Uh oh!
There was an error while loading. Please reload this page.
fix(android): exclude duplicate Hermes test JNI libs - #273
Open
huytdps13400 wants to merge 1 commit into
Open
Conversation
Keep runtime-owned hermestooling and hermesvm binaries out of the library AAR so Android test builds do not merge duplicate copies. Fixesmargelo#267
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary\n\n- exclude libhermestooling.so and libhermesvm.so from the Worklets library AAR\n- keep the existing CMake Prefab links unchanged\n- let react-android and hermes-android remain the app-level owners of the Hermes runtime binaries\n\nThis prevents androidTest and Detox builds from merging duplicate Hermes JNI libraries on React Native 0.83.\n\nFixes #267\n\n## Verification\n\n- yarn typecheck\n- yarn lint\n- yarn test --runInBand: 26/26 tests passed\n- yarn prepack\n- focused exclusion contract probe\n- ANDROID_HOME set to the local SDK:\n - :react-native-worklets-core:mergeDebugAndroidTestNativeLibs\n - :app:assembleDebug\n - New Architecture and Hermes enabled\n - four ABIs built successfully\n\nThe checked-in example uses React Native 0.76.1, so it provides backward-compatibility coverage rather than reproducing the reporter's exact RN 0.83.1 dependency graph. React Native 0.83.1 Android sources were also inspected: react-android exposes the hermestooling Prefab target and hermes-engine exposes hermesvm, while their packaging configuration keeps the runtime binaries owned by the application dependencies.