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

React Native升级Android 14遇libhermes.so缺失运行时错误求助

解决React Native升级Android 14后libhermes.so找不到的问题

这个错误是由于react-native-reanimated 2.17.0与React Native 0.71.x在Android 14环境下的依赖加载兼容性问题导致的,libreanimated.so无法找到依赖的libhermes.so。以下是针对性的解决方案:

1. 配置ABI过滤规则

打开android/app/build.gradle,在defaultConfig中明确指定支持的ABI架构,确保覆盖测试设备的架构类型:

android {
    defaultConfig {
        ndk {
            abiFilters "arm64-v8a", "armeabi-v7a"
        }
    }
}

同时检查android/build.gradle,避免存在全局覆盖ABI配置的代码。

2. 升级react-native-reanimated到兼容版本

react-native-reanimated 2.17.0对Android 14的支持存在缺陷,建议升级到2.x分支的稳定版本(如2.17.5)或3.x分支(需RN 0.70+,你的版本符合要求):

npm install react-native-reanimated@2.17.5 --save
# 或使用yarn:yarn add react-native-reanimated@2.17.5

安装完成后执行cd android && ./gradlew clean清理Android构建缓存。

3. 确保Hermes引擎优先加载

修改android/app/src/main/java/com/[你的项目包名]/MainApplication.java,确保Hermes引擎初始化逻辑正确,且在Reanimated之前加载:

import com.facebook.react.bridge.JSIModulePackage;
import com.swmansion.reanimated.ReanimatedJSIModulePackage;
import com.facebook.react.hermes.HermesExecutorFactory;
import com.facebook.react.bridge.JavaScriptExecutorFactory;

@Override
protected JavaScriptExecutorFactory getJavaScriptExecutorFactory() {
    return new HermesExecutorFactory();
}

@Override
protected JSIModulePackage getJSIModulePackage() {
    return new ReanimatedJSIModulePackage();
}

4. 彻底清理缓存并重新构建

执行以下命令清除所有缓存并重新构建项目,避免旧缓存干扰:

# 清除npm缓存
npm cache clean --force

# 清除Android构建缓存
cd android && ./gradlew clean
cd ..

# 重置依赖
rm -rf node_modules package-lock.json
npm install

# 重新运行项目
npx react-native run-android

5. 检查AndroidManifest配置

确保AndroidManifest.xml中targetSdkVersion 34对应的权限(如POST_NOTIFICATIONS)已正确声明,同时避免错误的命名空间配置,排除潜在的环境干扰。

内容的提问来源于stack exchange,提问作者Hansraj shokal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 04:02:21