fix: patch worklets and reanimated for Android 15 16KB page size support
Release APK / build (push) Has been cancelled
Release APK / build (push) Has been cancelled
react-native-worklets and react-native-reanimated compile .so files without -Wl,-z,max-page-size=16384, causing a native crash at startup on Android 15 devices that use 16KB memory pages (Pixel 9+, Galaxy S25+). Patch applied in build-apk.sh and CI workflow after npm install, before the Gradle build. Guard prevents double-patching on repeated runs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -77,6 +77,22 @@ info "Running expo prebuild (Android)…"
|
||||
cd "$SCRIPT_DIR"
|
||||
npx expo prebuild --platform android --clean --no-install
|
||||
|
||||
# ─── 4.5. Patch native modules — 16KB page size (Android 15) ──────────────
|
||||
info "Patching native modules for 16KB page size support (Android 15)…"
|
||||
|
||||
WORKLETS_CMAKE="$SCRIPT_DIR/node_modules/react-native-worklets/android/CMakeLists.txt"
|
||||
REANIMATED_CMAKE="$SCRIPT_DIR/node_modules/react-native-reanimated/android/CMakeLists.txt"
|
||||
|
||||
if [ -f "$WORKLETS_CMAKE" ] && ! grep -q "max-page-size" "$WORKLETS_CMAKE"; then
|
||||
printf '\ntarget_link_options(worklets PRIVATE "-Wl,-z,max-page-size=16384")\n' >> "$WORKLETS_CMAKE"
|
||||
info "Patched react-native-worklets for 16KB pages"
|
||||
fi
|
||||
|
||||
if [ -f "$REANIMATED_CMAKE" ] && ! grep -q "max-page-size" "$REANIMATED_CMAKE"; then
|
||||
printf '\ntarget_link_options(reanimated PRIVATE "-Wl,-z,max-page-size=16384")\n' >> "$REANIMATED_CMAKE"
|
||||
info "Patched react-native-reanimated for 16KB pages"
|
||||
fi
|
||||
|
||||
# ─── 5. Patch build.gradle — inject release signingConfig ──────────────────
|
||||
info "Patching android/app/build.gradle for release signing…"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user