React Native升级至0.70.4后Android端libhermes-executor-debug.so加载失败
React Native 0.65.0 升级到 0.70.4 启动异常解决方案
针对你升级后出现的Debug模式下找不到libhermes-executor-debug.so、Release模式卡启动页的问题,可按以下步骤排查修复:
1. 对齐Hermes版本与RN版本
你的依赖中使用com.facebook.react:hermes-engine:+动态版本,可能导致与RN 0.70.4不兼容。RN 0.70.4对应的Hermes版本是0.11.0,直接指定版本号:
if (enableHermes) { implementation("com.facebook.react:hermes-engine:0.11.0") { // 替换为RN 0.70.4匹配的版本 exclude group:'com.facebook.fbjni' } }
2. 修复Soloader版本冲突
RN 0.70.4自带的Soloader版本是0.14.1,你手动指定的0.10.4+版本过低,会导致DSO加载失败。删除手动添加的Soloader依赖:
// 移除这一行 // implementation 'com.facebook.soloader:soloader:0.10.4+'
依赖会自动从RN核心库继承正确版本。
3. 调整架构编译配置
开启enableSeparateBuildPerCPUArchitecture,避免架构兼容问题:
def enableSeparateBuildPerCPUArchitecture = true // 改为true
同时可暂时将reactNativeArchitectures改为只保留当前测试设备的架构(比如["arm64-v8a"]),减少编译冗余。
4. 清理缓存并重新构建
执行以下命令彻底清理缓存:
# 清理Node.js依赖缓存 rm -rf node_modules package-lock.json npm install # 清理Android构建缓存 cd android ./gradlew clean ./gradlew assembleDebug # 或 assembleRelease
5. 检查ProGuard配置(Release模式)
Release模式卡启动页可能是ProGuard误删了Hermes相关代码,在proguard-rules.pro中添加Hermes的规则:
-keep class com.facebook.hermes.** { *; } -keep class com.facebook.jni.** { *; }
完成以上步骤后重新构建,即可解决DSO加载失败和启动页卡顿的问题。
内容的提问来源于stack exchange,提问作者uuzelac
相关产品推荐
相关产品推荐

