Skip to content

Commit

Permalink
Make hermes-executor-common a static lib (#32683)
Browse files Browse the repository at this point in the history
Summary:
I've been seeing a couple crashes related to missing hermes-executor-common.so, seems to happen on specific android versions, but can't repro. I investigated this so file more and noticed it is incorrectly linked as a static library here https://github.com/facebook/react-native/blob/b8f415eb6cdc0e0e7a7413b6f9defdcee304d9e8/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/Android.mk#L20. There doesn't seem to be any reason for this to be a shared lib so I changed it to be compiled as a static lib.

## Changelog

[Android] [Fixed] - Make hermes-executor-common a static lib

Pull Request resolved: #32683

Test Plan:
- Verify there is no more hermes-executor-common-{release,debug}.so
- Test locally in an app to make sure it build and run properly.
- Verify that the crash happening on play store pre-launch report doesn't happen anymore.

Reviewed By: ShikaSD

Differential Revision: D32754968

Pulled By: cortinico

fbshipit-source-id: cb57e2d81edb4cbdb1f003dab45c53e594a5a62a
  • Loading branch information
janicduplessis authored and facebook-github-bot committed Dec 1, 2021
1 parent cdce733 commit b2cf24f
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 6 deletions.
4 changes: 2 additions & 2 deletions ReactCommon/hermes/executor/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_STATIC_LIBRARIES := libjsireact
LOCAL_SHARED_LIBRARIES := libhermes libjsi

include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)

Expand All @@ -34,4 +34,4 @@ LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
LOCAL_STATIC_LIBRARIES := libjsireact libhermes-inspector
LOCAL_SHARED_LIBRARIES := libhermes libjsi

include $(BUILD_SHARED_LIBRARY)
include $(BUILD_STATIC_LIBRARY)
Original file line number Diff line number Diff line change
Expand Up @@ -233,12 +233,10 @@ private fun Project.cleanupVMFiles(
// Reduce size by deleting the debugger/inspector
it.include("**/libhermes-inspector.so")
it.include("**/libhermes-executor-debug.so")
it.include("**/libhermes-executor-common-debug.so")
} else {
// Release libs take precedence and must be removed
// to allow debugging
it.include("**/libhermes-executor-release.so")
it.include("**/libhermes-executor-common-release.so")
}
} else {
// For JSC, delete all the libhermes* files
Expand Down
2 changes: 0 additions & 2 deletions react.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -365,12 +365,10 @@ afterEvaluate {
// Reduce size by deleting the debugger/inspector
include '**/libhermes-inspector.so'
include '**/libhermes-executor-debug.so'
include '**/libhermes-executor-common-debug.so'
} else {
// Release libs take precedence and must be removed
// to allow debugging
include '**/libhermes-executor-release.so'
include '**/libhermes-executor-common-release.so'
}
} else {
// For JSC, delete all the libhermes* files
Expand Down

0 comments on commit b2cf24f

Please sign in to comment.