From 36d0c8d22b56414c1edac810138875b28dc79090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20S=C5=82uszniak?= Date: Tue, 19 May 2026 15:38:43 +0200 Subject: [PATCH] fix(android): resolve worklets via prefab to avoid missing libworklets.so on fresh builds --- .../src/main/cpp/audioapi/CMakeLists.txt | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/packages/react-native-audio-api/android/src/main/cpp/audioapi/CMakeLists.txt b/packages/react-native-audio-api/android/src/main/cpp/audioapi/CMakeLists.txt index 9c1fbaa20..588cfa2bd 100644 --- a/packages/react-native-audio-api/android/src/main/cpp/audioapi/CMakeLists.txt +++ b/packages/react-native-audio-api/android/src/main/cpp/audioapi/CMakeLists.txt @@ -102,19 +102,25 @@ if(NOT RN_AUDIO_API_STATIC_EXTERNAL_LIBS_DISABLED) endif() if(RN_AUDIO_API_WORKLETS_ENABLED) - # Import the worklets library (similar to how Reanimated does it) - add_library(worklets SHARED IMPORTED) - set_target_properties( - worklets - PROPERTIES - IMPORTED_LOCATION - "${REACT_NATIVE_WORKLETS_DIR}/build/intermediates/cmake/${BUILD_TYPE}/obj/${ANDROID_ABI}/libworklets.so" - ) list(APPEND INCLUDE_LIBRARIES "${REACT_NATIVE_WORKLETS_DIR}/../Common/cpp" "${REACT_NATIVE_WORKLETS_DIR}/src/main/cpp" ) - list(APPEND LINK_LIBRARIES worklets) + + find_package(react-native-worklets CONFIG QUIET) + if(react-native-worklets_FOUND) + list(APPEND LINK_LIBRARIES react-native-worklets::worklets) + else() + # Fallback for environments without prefab publication (older worklets) + add_library(worklets SHARED IMPORTED) + set_target_properties( + worklets + PROPERTIES + IMPORTED_LOCATION + "${REACT_NATIVE_WORKLETS_DIR}/build/intermediates/cmake/${BUILD_TYPE}/obj/${ANDROID_ABI}/libworklets.so" + ) + list(APPEND LINK_LIBRARIES worklets) + endif() endif() target_include_directories(