React Native Android应用启动崩溃:Fatal signal 11 (SIGSEGV), code 1
问题描述
错误日志
E/unknown:ReactNative: Tried to remove non-existent frame callback W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class org.reactnative.maskedview.RNCMaskedViewManager W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class expo.modules.kotlin.views.GroupViewManagerWrapper W/unknown:ViewManagerPropertyUpdater: Could not find generated setter for class expo.modules.kotlin.views.SimpleViewManagerWrapper D/OpenGLRenderer: --- Failed to create image decoder with message 'unimplemented' A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6675427961727259 in tid 15808 (mqt_js), pid 15526 (mona.---app)
已尝试以下方案均无效果:
- 冷启动并清除应用数据
- 重启设备并清除缓存
- 禁用
Stack.Screen动画 - 在
abiFilters中添加x86 - 卸载并重新安装应用
- 在
build.gradle中禁用Hermes
排查与解决建议
核对依赖版本兼容性
- 检查
react-native-masked-view、expo kotlin模块与当前React Native版本的适配性,版本不匹配是原生层报错的常见原因。 - 尝试升级或降级
react-native-masked-view到官方推荐的稳定版本,执行命令:
或指定适配项目RN版本的具体版本号。npm install react-native-masked-view@latest
- 检查
彻底清理重建项目
- 清理Android构建缓存:
之后重新执行cd android && ./gradlew cleannpx react-native run-android。 - 删除
node_modules、package-lock.json(或yarn.lock),重新安装依赖后再构建项目。
- 清理Android构建缓存:
定位JS线程崩溃诱因
- 开启React Native调试模式,排查JS层面是否存在未捕获异常,JS错误可能触发原生层SIGSEGV崩溃。
- 使用
adb logcat *:E过滤错误日志,重点关注崩溃发生前的JS相关报错,锁定问题代码模块。
排查第三方组件问题
- 暂时移除项目中所有
RNCMaskedView相关代码,测试应用是否还会崩溃,确认是否是该组件导致的问题。 - 逐一排查其他自定义原生视图或第三方模块,排查是否存在内存访问异常。
- 暂时移除项目中所有
重新启用Hermes并升级
- 之前禁用了Hermes,可尝试重新启用,并确保Hermes版本与React Native版本匹配,新版本Hermes可能修复了相关崩溃问题。
内容的提问来源于stack exchange,提问作者alimirzayef
相关产品推荐
相关产品推荐

