Skip to content

Commit c1e3cd3

Browse files
authored
Fix linking error error: undefined symbol: worklets::extractWorkletRuntime on Android (#627)
1 parent 08de842 commit c1e3cd3

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

android/build.gradle

+13
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ buildscript {
99
}
1010
}
1111

12+
task prepareKotlinBuildScriptModel {
13+
// This task is run during Gradle Sync in Android Studio.
14+
}
15+
1216
def reactNativeArchitectures() {
1317
def value = project.getProperties().get("reactNativeArchitectures")
1418
return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
@@ -193,3 +197,12 @@ if (isNewArchitectureEnabled()) {
193197
codegenJavaPackageName = "com.expensify.livemarkdown"
194198
}
195199
}
200+
201+
// This fixes linking errors due to undefined symbols from libworklets.so.
202+
// During Gradle Sync, Android Gradle Plugin runs Prefab and treats worklets
203+
// like a header-only library. During build, config files are not regenerated
204+
// because the cache key does not change and AGP thinks that they are up-to-date.
205+
afterEvaluate {
206+
prepareKotlinBuildScriptModel.dependsOn(":react-native-reanimated:prefabDebugPackage")
207+
prepareKotlinBuildScriptModel.dependsOn(":react-native-reanimated:prefabReleasePackage")
208+
}

0 commit comments

Comments
 (0)