React Native 0.72.6生产环境启动崩溃:找不到libhermes.so
解决React Native 0.72.6在arm架构设备启动崩溃(找不到libhermes.so)的问题
问题根源
崩溃设备标注的arm架构实际对应Android旧版的armeabi架构,你的项目reactNativeArchitectures配置未包含该架构,导致APK中未生成对应架构的libhermes.so文件,旧设备启动时无法找到库文件引发崩溃。
解决方案
添加armeabi架构支持
在项目的android/build.gradle文件中,修改配置加入armeabi架构:// 方式1:在defaultConfig的ndk节点下配置 android { defaultConfig { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64", "armeabi" } } } // 方式2:在project.ext.react节点下配置 project.ext.react = [ reactNativeArchitectures: ["armeabi-v7a", "arm64-v8a", "x86", "x86_64", "armeabi"], ]清理并重新构建项目
执行命令确保生成对应架构的原生库:./gradlew clean ./gradlew assembleRelease验证APK内容
用解压工具打开构建好的Release APK,检查lib/armeabi目录下是否存在libhermes.so文件,确认架构支持已生效。
补充说明
你之前尝试的packagingOptions.useLegacyPackaging和android:extractNativeLibs="true"方案,是解决原生库打包/提取逻辑的问题,但核心矛盾是APK中根本没有armeabi架构的库文件,因此优先添加架构支持才是解决问题的关键。
内容的提问来源于stack exchange,提问作者HuyenTran
相关产品推荐
相关产品推荐

