You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Realm后Release构建启动即崩溃求助

解决React Native Realm Release版启动崩溃(无法加载librealm.so)问题

以下是经过验证的解决方案,按顺序尝试:

1. 调整Android NDK架构配置

打开android/app/build.gradle,在defaultConfig的ndk节点中,确保包含Realm支持的ABI架构,或者移除不必要的abiFilters限制:

android {
    defaultConfig {
        // ... 其他配置
        ndk {
            // 指定Realm兼容的ABI,覆盖原有配置
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
            // 若之前有指定小众架构,直接注释掉abiFilters即可
        }
    }
}

2. 配置打包规则保留Realm原生库

在同一个build.gradle文件中添加packagingOptions,防止so库被剥离或遗漏:

android {
    // ... 其他配置
    packagingOptions {
        pickFirst 'lib/**/librealm.so'
        doNotStrip 'lib/**/librealm.so'
    }
}

doNotStrip会阻止打包工具移除so库的必要符号,避免加载失败。

3. 彻底清理缓存后重新构建

执行以下命令清除旧构建缓存,避免残留问题:

# 进入Android目录清理gradle缓存
cd android && ./gradlew clean
# 返回根目录重新构建Release版
cd .. && npx react-native run-android --variant=release

4. 确认依赖版本兼容性

检查package.json中realm和@realm/react的版本是否与你的React Native版本匹配。React Native 0.70+建议使用Realm 12.x及以上版本,可执行以下命令升级到稳定版:

npm install realm@latest @realm/react@latest

5. 验证APK是否包含librealm.so

解压生成的Release APK(路径:android/app/build/outputs/apk/release/),查看lib/{对应ABI}/目录下是否存在librealm.so。如果缺失,重新安装依赖并触发原生链接:

rm -rf node_modules package-lock.json
npm install
npx react-native link realm

内容的提问来源于stack exchange,提问作者Lucian Fratila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 05:48:24