React Native 0.63.3启用Hermes引擎后APK崩溃,报libjsi.so未找到错误
React Native 0.63.3启用Hermes后APK崩溃解决方案
问题现象
启用Hermes并打包APK后应用崩溃,Logcat输出:
警告: java.lang.UnsatisfiedLinkError: dlopen failed: library "libjsi.so" not found:
错误: couldn't find DSO to load: libhermes.so caused by: dlopen failed: library "libjsi.so" not found
修复步骤
1. 调整ABI过滤配置
在android/app/build.gradle中,确保ndk.abiFilters包含Hermes支持的全部或必要ABI,避免因架构过滤导致库文件缺失:
android { defaultConfig { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } }
2. 清理缓存并重新构建
执行以下命令彻底清理项目缓存和依赖,避免旧文件干扰:
# 清理gradle构建缓存 ./gradlew clean # 删除本地依赖和锁文件 rm -rf node_modules package-lock.json yarn.lock # 重新安装依赖 npm install # 重新打包Release APK ./gradlew assembleRelease
3. 确认Hermes启用配置
检查android/app/build.gradle中的Hermes开关是否正确开启:
project.ext.react = [ enableHermes: true, ]
4. 验证APK中的库文件
如果上述步骤无效,手动检查APK内的库文件:
- 将APK重命名为
.zip并解压 - 进入
lib/[对应ABI]目录,确认libjsi.so和libhermes.so是否存在 - 若文件缺失,尝试升级React Native到0.63.x系列的最新补丁版本,修复库打包的潜在问题
内容的提问来源于stack exchange,提问作者RAHUL RAJ
相关产品推荐
相关产品推荐

